struct ClassData

Defined at line 365 of file ../../third_party/protobuf/src/src/google/protobuf/message_lite.h

Note: The order of arguments in the functions is chosen so that it has

the same ABI as the member function that calls them. Eg the `this`

pointer becomes the first argument in the free function.

Future work:

We could save more data by omitting any optional pointer that would

otherwise be null. We can have some metadata in ClassData telling us if we

have them and their offset.

Public Members

const MessageLite * prototype
const internal::TcParseTableBase * tc_table
bool (*)(const MessageLite &) is_initialized
void (*)(MessageLite &, const MessageLite &) merge_to_from
MessageCreator message_creator
uint32_t cached_size_offset
bool is_lite
bool is_dynamic

Public Methods

void ClassData (const MessageLite * prototype, const internal::TcParseTableBase * tc_table, bool (*)(const MessageLite &) is_initialized, void (*)(MessageLite &, const MessageLite &) merge_to_from, internal::MessageCreator message_creator, uint32_t cached_size_offset, bool is_lite)

Defined at line 391 of file ../../third_party/protobuf/src/src/google/protobuf/message_lite.h

void ClassData (const MessageLite * prototype, const internal::TcParseTableBase * tc_table, bool (*)(const MessageLite &) is_initialized, void (*)(MessageLite &, const MessageLite &) merge_to_from, internal::MessageCreator message_creator, void (*)(MessageLite &) destroy_message, void (MessageLite::*)() clear, size_t (*)(const MessageLite &) byte_size_long, uint8_t *(*)(const MessageLite &, uint8_t *, io::EpsCopyOutputStream *) serialize, uint32_t cached_size_offset, bool is_lite)

But we always provide the full constructor even in normal mode to make

helper code simpler.

Defined at line 413 of file ../../third_party/protobuf/src/src/google/protobuf/message_lite.h

const MessageLite * default_instance ()

Defined at line 446 of file ../../third_party/protobuf/src/src/google/protobuf/message_lite.h

MessageLite * New (Arena * arena)

Defined at line 451 of file ../../third_party/protobuf/src/src/google/protobuf/message_lite.h

MessageLite * PlacementNew (void * mem, Arena * arena)

Defined at line 456 of file ../../third_party/protobuf/src/src/google/protobuf/message_lite.h

uint32_t allocation_size ()

Defined at line 461 of file ../../third_party/protobuf/src/src/google/protobuf/message_lite.h

uint8_t alignment ()

Defined at line 463 of file ../../third_party/protobuf/src/src/google/protobuf/message_lite.h

const ClassDataFull & full ()

Defined at line 636 of file ../../third_party/protobuf/src/src/google/protobuf/message_lite.h