Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
google::protobuf::compiler::cpp::MessageGenerator Class Reference

#include <cpp_message.h>

Public Member Functions

void AddGenerators (std::vector< std::unique_ptr< EnumGenerator >> *enum_generators, std::vector< std::unique_ptr< ExtensionGenerator >> *extension_generators)
 
void GenerateClassDefinition (io::Printer *printer)
 
void GenerateClassMethods (io::Printer *printer)
 
void GenerateDefaultInstanceInitializer (io::Printer *printer)
 
void GenerateExtraDefaultFields (io::Printer *printer)
 
void GenerateFieldDefaultInstances (io::Printer *printer)
 
void GenerateInlineMethods (io::Printer *printer)
 
void GenerateSourceInProto2Namespace (io::Printer *printer)
 
 MessageGenerator (const Descriptor *descriptor, const std::map< std::string, std::string > &vars, int index_in_file_messages, const Options &options, MessageSCCAnalyzer *scc_analyzer)
 
 ~MessageGenerator ()
 

Private Member Functions

void GenerateArenaDestructorCode (io::Printer *printer)
 
void GenerateByteSize (io::Printer *printer)
 
void GenerateClear (io::Printer *printer)
 
void GenerateConstructorBody (io::Printer *printer, std::vector< bool > already_processed, bool copy_constructor) const
 
void GenerateCopyFrom (io::Printer *printer)
 
void GenerateFieldAccessorDeclarations (io::Printer *printer)
 
void GenerateFieldAccessorDefinitions (io::Printer *printer)
 
void GenerateFieldClear (const FieldDescriptor *field, bool is_inline, Formatter format)
 
int GenerateFieldMetadata (io::Printer *printer)
 
void GenerateIsInitialized (io::Printer *printer)
 
void GenerateMergeFrom (io::Printer *printer)
 
void GenerateMergeFromCodedStream (io::Printer *printer)
 
std::pair< size_t, size_t > GenerateOffsets (io::Printer *printer)
 
void GenerateOneofClear (io::Printer *printer)
 
void GenerateOneofHasBits (io::Printer *printer)
 
void GenerateOneofMemberHasBits (const FieldDescriptor *field, const Formatter &format)
 
size_t GenerateParseAuxTable (io::Printer *printer)
 
size_t GenerateParseOffsets (io::Printer *printer)
 
bool GenerateParseTable (io::Printer *printer, size_t offset, size_t aux_offset)
 
void GenerateSchema (io::Printer *printer, int offset, int has_offset)
 
void GenerateSerializeOneExtensionRange (io::Printer *printer, const Descriptor::ExtensionRange *range, bool unbounded)
 
void GenerateSerializeOneField (io::Printer *printer, const FieldDescriptor *field, bool unbounded, int cached_has_bits_index)
 
void GenerateSerializeOneofFields (io::Printer *printer, const std::vector< const FieldDescriptor * > &fields, bool to_array)
 
void GenerateSerializeWithCachedSizes (io::Printer *printer)
 
void GenerateSerializeWithCachedSizesBody (io::Printer *printer, bool to_array)
 
void GenerateSerializeWithCachedSizesToArray (io::Printer *printer)
 
void GenerateSharedConstructorCode (io::Printer *printer)
 
void GenerateSharedDestructorCode (io::Printer *printer)
 
void GenerateSingularFieldHasBits (const FieldDescriptor *field, Formatter format)
 
void GenerateStructors (io::Printer *printer)
 
void GenerateSwap (io::Printer *printer)
 
 GOOGLE_DISALLOW_EVIL_CONSTRUCTORS (MessageGenerator)
 
size_t HasBitsSize () const
 
std::vector< uint32RequiredFieldsBitMask () const
 

Private Attributes

std::string classname_
 
const Descriptordescriptor_
 
std::vector< const EnumGenerator * > enum_generators_
 
std::vector< const ExtensionGenerator * > extension_generators_
 
FieldGeneratorMap field_generators_
 
std::vector< int > has_bit_indices_
 
int index_in_file_messages_
 
int max_has_bit_index_
 
std::unique_ptr< MessageLayoutHelpermessage_layout_helper_
 
int num_required_fields_
 
int num_weak_fields_
 
std::vector< const FieldDescriptor * > optimized_order_
 
Options options_
 
MessageSCCAnalyzerscc_analyzer_
 
bool table_driven_
 
std::map< std::string, std::stringvariables_
 

Friends

class FileGenerator
 

Detailed Description

Definition at line 62 of file cpp_message.h.

Constructor & Destructor Documentation

◆ MessageGenerator()

google::protobuf::compiler::cpp::MessageGenerator::MessageGenerator ( const Descriptor descriptor,
const std::map< std::string, std::string > &  vars,
int  index_in_file_messages,
const Options options,
MessageSCCAnalyzer scc_analyzer 
)

Definition at line 605 of file cpp_message.cc.

◆ ~MessageGenerator()

google::protobuf::compiler::cpp::MessageGenerator::~MessageGenerator ( )
default

Member Function Documentation

◆ AddGenerators()

void google::protobuf::compiler::cpp::MessageGenerator::AddGenerators ( std::vector< std::unique_ptr< EnumGenerator >> *  enum_generators,
std::vector< std::unique_ptr< ExtensionGenerator >> *  extension_generators 
)

Definition at line 681 of file cpp_message.cc.

◆ GenerateArenaDestructorCode()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateArenaDestructorCode ( io::Printer printer)
private

Definition at line 2444 of file cpp_message.cc.

◆ GenerateByteSize()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateByteSize ( io::Printer printer)
private

Definition at line 4045 of file cpp_message.cc.

◆ GenerateClassDefinition()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateClassDefinition ( io::Printer printer)

Definition at line 939 of file cpp_message.cc.

◆ GenerateClassMethods()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateClassMethods ( io::Printer printer)

Definition at line 1956 of file cpp_message.cc.

◆ GenerateClear()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateClear ( io::Printer printer)
private

Definition at line 2770 of file cpp_message.cc.

◆ GenerateConstructorBody()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateConstructorBody ( io::Printer printer,
std::vector< bool >  already_processed,
bool  copy_constructor 
) const
private

Definition at line 2505 of file cpp_message.cc.

◆ GenerateCopyFrom()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateCopyFrom ( io::Printer printer)
private

Definition at line 3282 of file cpp_message.cc.

◆ GenerateDefaultInstanceInitializer()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateDefaultInstanceInitializer ( io::Printer printer)

Definition at line 1907 of file cpp_message.cc.

◆ GenerateExtraDefaultFields()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateExtraDefaultFields ( io::Printer printer)

Definition at line 1589 of file cpp_message.cc.

◆ GenerateFieldAccessorDeclarations()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateFieldAccessorDeclarations ( io::Printer printer)
private

Definition at line 696 of file cpp_message.cc.

◆ GenerateFieldAccessorDefinitions()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateFieldAccessorDefinitions ( io::Printer printer)
private

Definition at line 895 of file cpp_message.cc.

◆ GenerateFieldClear()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateFieldClear ( const FieldDescriptor field,
bool  is_inline,
Formatter  format 
)
private

Definition at line 857 of file cpp_message.cc.

◆ GenerateFieldDefaultInstances()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateFieldDefaultInstances ( io::Printer printer)

Definition at line 1900 of file cpp_message.cc.

◆ GenerateFieldMetadata()

int google::protobuf::compiler::cpp::MessageGenerator::GenerateFieldMetadata ( io::Printer printer)
private

Definition at line 1733 of file cpp_message.cc.

◆ GenerateInlineMethods()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateInlineMethods ( io::Printer printer)

Definition at line 1569 of file cpp_message.cc.

◆ GenerateIsInitialized()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateIsInitialized ( io::Printer printer)
private

Definition at line 4322 of file cpp_message.cc.

◆ GenerateMergeFrom()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateMergeFrom ( io::Printer printer)
private

Definition at line 3070 of file cpp_message.cc.

◆ GenerateMergeFromCodedStream()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateMergeFromCodedStream ( io::Printer printer)
private

Definition at line 3351 of file cpp_message.cc.

◆ GenerateOffsets()

std::pair< size_t, size_t > google::protobuf::compiler::cpp::MessageGenerator::GenerateOffsets ( io::Printer printer)
private

Definition at line 2324 of file cpp_message.cc.

◆ GenerateOneofClear()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateOneofClear ( io::Printer printer)
private

Definition at line 2981 of file cpp_message.cc.

◆ GenerateOneofHasBits()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateOneofHasBits ( io::Printer printer)
private

Definition at line 824 of file cpp_message.cc.

◆ GenerateOneofMemberHasBits()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateOneofMemberHasBits ( const FieldDescriptor field,
const Formatter format 
)
private

Definition at line 840 of file cpp_message.cc.

◆ GenerateParseAuxTable()

size_t google::protobuf::compiler::cpp::MessageGenerator::GenerateParseAuxTable ( io::Printer printer)
private

Definition at line 2233 of file cpp_message.cc.

◆ GenerateParseOffsets()

size_t google::protobuf::compiler::cpp::MessageGenerator::GenerateParseOffsets ( io::Printer printer)
private

Definition at line 2126 of file cpp_message.cc.

◆ GenerateParseTable()

bool google::protobuf::compiler::cpp::MessageGenerator::GenerateParseTable ( io::Printer printer,
size_t  offset,
size_t  aux_offset 
)
private

Definition at line 1612 of file cpp_message.cc.

◆ GenerateSchema()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateSchema ( io::Printer printer,
int  offset,
int  has_offset 
)
private

Definition at line 1673 of file cpp_message.cc.

◆ GenerateSerializeOneExtensionRange()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateSerializeOneExtensionRange ( io::Printer printer,
const Descriptor::ExtensionRange *  range,
bool  unbounded 
)
private

Definition at line 3752 of file cpp_message.cc.

◆ GenerateSerializeOneField()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateSerializeOneField ( io::Printer printer,
const FieldDescriptor field,
bool  unbounded,
int  cached_has_bits_index 
)
private

Definition at line 3708 of file cpp_message.cc.

◆ GenerateSerializeOneofFields()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateSerializeOneofFields ( io::Printer printer,
const std::vector< const FieldDescriptor * > &  fields,
bool  to_array 
)
private

Definition at line 3676 of file cpp_message.cc.

◆ GenerateSerializeWithCachedSizes()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateSerializeWithCachedSizes ( io::Printer printer)
private

Definition at line 3771 of file cpp_message.cc.

◆ GenerateSerializeWithCachedSizesBody()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateSerializeWithCachedSizesBody ( io::Printer printer,
bool  to_array 
)
private

Definition at line 3847 of file cpp_message.cc.

◆ GenerateSerializeWithCachedSizesToArray()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateSerializeWithCachedSizesToArray ( io::Printer printer)
private

Definition at line 3806 of file cpp_message.cc.

◆ GenerateSharedConstructorCode()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateSharedConstructorCode ( io::Printer printer)
private

Definition at line 2390 of file cpp_message.cc.

◆ GenerateSharedDestructorCode()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateSharedDestructorCode ( io::Printer printer)
private

Definition at line 2412 of file cpp_message.cc.

◆ GenerateSingularFieldHasBits()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateSingularFieldHasBits ( const FieldDescriptor field,
Formatter  format 
)
private

Definition at line 783 of file cpp_message.cc.

◆ GenerateSourceInProto2Namespace()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateSourceInProto2Namespace ( io::Printer printer)

Definition at line 2759 of file cpp_message.cc.

◆ GenerateStructors()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateStructors ( io::Printer printer)
private

Definition at line 2576 of file cpp_message.cc.

◆ GenerateSwap()

void google::protobuf::compiler::cpp::MessageGenerator::GenerateSwap ( io::Printer printer)
private

Definition at line 3024 of file cpp_message.cc.

◆ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS()

google::protobuf::compiler::cpp::MessageGenerator::GOOGLE_DISALLOW_EVIL_CONSTRUCTORS ( MessageGenerator  )
private

◆ HasBitsSize()

size_t google::protobuf::compiler::cpp::MessageGenerator::HasBitsSize ( ) const
private

Definition at line 668 of file cpp_message.cc.

◆ RequiredFieldsBitMask()

std::vector< uint32 > google::protobuf::compiler::cpp::MessageGenerator::RequiredFieldsBitMask ( ) const
private

Definition at line 4007 of file cpp_message.cc.

Friends And Related Function Documentation

◆ FileGenerator

friend class FileGenerator
friend

Definition at line 214 of file cpp_message.h.

Member Data Documentation

◆ classname_

std::string google::protobuf::compiler::cpp::MessageGenerator::classname_
private

Definition at line 190 of file cpp_message.h.

◆ descriptor_

const Descriptor* google::protobuf::compiler::cpp::MessageGenerator::descriptor_
private

Definition at line 188 of file cpp_message.h.

◆ enum_generators_

std::vector<const EnumGenerator*> google::protobuf::compiler::cpp::MessageGenerator::enum_generators_
private

Definition at line 201 of file cpp_message.h.

◆ extension_generators_

std::vector<const ExtensionGenerator*> google::protobuf::compiler::cpp::MessageGenerator::extension_generators_
private

Definition at line 202 of file cpp_message.h.

◆ field_generators_

FieldGeneratorMap google::protobuf::compiler::cpp::MessageGenerator::field_generators_
private

Definition at line 192 of file cpp_message.h.

◆ has_bit_indices_

std::vector<int> google::protobuf::compiler::cpp::MessageGenerator::has_bit_indices_
private

Definition at line 199 of file cpp_message.h.

◆ index_in_file_messages_

int google::protobuf::compiler::cpp::MessageGenerator::index_in_file_messages_
private

Definition at line 189 of file cpp_message.h.

◆ max_has_bit_index_

int google::protobuf::compiler::cpp::MessageGenerator::max_has_bit_index_
private

Definition at line 200 of file cpp_message.h.

◆ message_layout_helper_

std::unique_ptr<MessageLayoutHelper> google::protobuf::compiler::cpp::MessageGenerator::message_layout_helper_
private

Definition at line 208 of file cpp_message.h.

◆ num_required_fields_

int google::protobuf::compiler::cpp::MessageGenerator::num_required_fields_
private

Definition at line 203 of file cpp_message.h.

◆ num_weak_fields_

int google::protobuf::compiler::cpp::MessageGenerator::num_weak_fields_
private

Definition at line 204 of file cpp_message.h.

◆ optimized_order_

std::vector<const FieldDescriptor*> google::protobuf::compiler::cpp::MessageGenerator::optimized_order_
private

Definition at line 198 of file cpp_message.h.

◆ options_

Options google::protobuf::compiler::cpp::MessageGenerator::options_
private

Definition at line 191 of file cpp_message.h.

◆ scc_analyzer_

MessageSCCAnalyzer* google::protobuf::compiler::cpp::MessageGenerator::scc_analyzer_
private

Definition at line 210 of file cpp_message.h.

◆ table_driven_

bool google::protobuf::compiler::cpp::MessageGenerator::table_driven_
private

Definition at line 206 of file cpp_message.h.

◆ variables_

std::map<std::string, std::string> google::protobuf::compiler::cpp::MessageGenerator::variables_
private

Definition at line 212 of file cpp_message.h.


The documentation for this class was generated from the following files:


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:07:09