struct ClassData

Defined at line 331 of file ../../third_party/protobuf/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
void (*)(MessageLite &, Arena &) on_demand_register_arena_dtor
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, void (*)(MessageLite &, Arena &) on_demand_register_arena_dtor, 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 356 of file ../../third_party/protobuf/src/google/protobuf/message_lite.h

void ClassData (const MessageLite * prototype, const internal::TcParseTableBase * tc_table, void (*)(MessageLite &, Arena &) on_demand_register_arena_dtor, 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 378 of file ../../third_party/protobuf/src/google/protobuf/message_lite.h

MessageLite * New (Arena * arena)

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

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

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

uint32_t allocation_size ()

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

uint8_t alignment ()

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

const ClassDataFull & full ()

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