Go to the documentation of this file.
49 #include <google/protobuf/port_def.inc>
61 GOOGLE_LOG(
FATAL) <<
"Message does not support reflection (type " << mtype <<
").";
67 if (&from == to)
return;
77 <<
"Tried to merge messages of different types "
78 <<
"(merge " <<
descriptor->full_name() <<
" to "
88 std::vector<const FieldDescriptor*>
fields;
93 if (
field->is_repeated()) {
99 if (is_from_generated == is_to_generated &&
field->is_map()) {
109 for (
int j = 0; j <
count; j++) {
110 switch (
field->cpp_type()) {
111 #define HANDLE_TYPE(CPPTYPE, METHOD) \
112 case FieldDescriptor::CPPTYPE_##CPPTYPE: \
113 to_reflection->Add##METHOD( \
114 to, field, from_reflection->GetRepeated##METHOD(from, field, j)); \
135 switch (
field->cpp_type()) {
136 #define HANDLE_TYPE(CPPTYPE, METHOD) \
137 case FieldDescriptor::CPPTYPE_##CPPTYPE: \
138 to_reflection->Set##METHOD(to, field, \
139 from_reflection->Get##METHOD(from, field)); \
168 std::vector<const FieldDescriptor*>
fields;
170 for (
int i = 0;
i <
fields.size();
i++) {
191 std::vector<const FieldDescriptor*>
fields;
193 for (
int i = 0;
i <
fields.size();
i++) {
197 if (
field->is_map()) {
206 iter !=
end; ++iter) {
218 if (
field->is_repeated()) {
221 for (
int j = 0; j <
size; j++) {
243 std::vector<const FieldDescriptor*>
fields;
245 for (
int i = 0;
i <
fields.size();
i++) {
248 if (
field->is_repeated()) {
249 if (
field->is_map()) {
258 iter !=
end; ++iter) {
270 for (
int j = 0; j <
size; j++) {
284 if (
field->is_extension()) {
286 result.append(
field->full_name());
289 result.append(
field->name());
302 std::vector<std::string>*
errors) {
316 std::vector<const FieldDescriptor*>
fields;
318 for (
int i = 0;
i <
fields.size();
i++) {
322 if (
field->is_repeated()) {
325 for (
int j = 0; j <
size; j++) {
const std::string & full_name() const
#define GOOGLE_CHECK_EQ(A, B)
unsigned long long int UInt64
static const Reflection * GetReflectionOrDie(const Message &m)
const MapValueRef & GetValueRef()
internal::MapFieldBase * MutableMapData(Message *message, const FieldDescriptor *field) const
string StrCat(const AlphaNum &a, const AlphaNum &b)
static MessageFactory * generated_factory()
MessageFactory * GetMessageFactory() const
GLsizei const GLchar *const * string
const Message & GetMessageValue() const
bool HasField(const Message &message, const FieldDescriptor *field) const
HANDLE_TYPE(int32, FieldDescriptor::CPPTYPE_INT32, -1)
TypeWithSize< 4 >::Int Int32
MapValueRef * MutableValueRef()
bool IsInitialized() const override
FloatingPoint< double > Double
static void FindInitializationErrors(const Message &message, const std::string &prefix, std::vector< std::string > *errors)
TypeWithSize< 4 >::UInt UInt32
static void Merge(const Message &from, Message *to)
UnknownFieldSet * MutableUnknownFields(Message *message) const
FloatingPoint< float > Float
static const char prefix[]
static void DiscardUnknownFields(Message *message)
static std::string SubMessagePrefix(const std::string &prefix, const FieldDescriptor *field, int index)
void MergeFrom(const UnknownFieldSet &other)
const UnknownFieldSet & GetUnknownFields(const Message &message) const
#define GOOGLE_LOG(LEVEL)
void ClearField(Message *message, const FieldDescriptor *field) const
virtual void MapBegin(MapIterator *map_iter) const =0
const FieldDescriptor * field
int FieldSize(const Message &message, const FieldDescriptor *field) const
#define GOOGLE_CHECK_NE(A, B)
virtual void MapEnd(MapIterator *map_iter) const =0
Message * MutableMessage(Message *message, const FieldDescriptor *field, MessageFactory *factory=nullptr) const
static const upb_fielddef fields[107]
const Descriptor * GetDescriptor() const
Message * MutableRepeatedMessage(Message *message, const FieldDescriptor *field, int index) const
const upb_json_parsermethod * m
virtual void MergeFrom(const Message &from)
static void Copy(const Message &from, Message *to)
const internal::MapFieldBase * GetMapData(const Message &message, const FieldDescriptor *field) const
static bool IsInitialized(const Message &message)
virtual void MergeFrom(const MapFieldBase &other)=0
Message * AddMessage(Message *message, const FieldDescriptor *field, MessageFactory *factory=nullptr) const
virtual void DiscardUnknownFields()
void ListFields(const Message &message, std::vector< const FieldDescriptor * > *output) const
GLenum GLuint GLenum GLsizei const GLchar * message
static void Clear(Message *message)
const Message & GetRepeatedMessage(const Message &message, const FieldDescriptor *field, int index) const
Message * MutableMessageValue()
const Message & GetMessage(const Message &message, const FieldDescriptor *field, MessageFactory *factory=nullptr) const
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:58