Go to the documentation of this file.
31 #ifndef GOOGLE_PROTOBUF_COMPILER_CPP_PARSE_FUNCTION_GENERATOR_H__
32 #define GOOGLE_PROTOBUF_COMPILER_CPP_PARSE_FUNCTION_GENERATOR_H__
38 #include <google/protobuf/compiler/cpp/cpp_helpers.h>
39 #include <google/protobuf/compiler/cpp/cpp_options.h>
40 #include <google/protobuf/io/printer.h>
41 #include <google/protobuf/descriptor.h>
43 #include <google/protobuf/wire_format_lite.h>
53 const std::vector<int>& has_bit_indices,
78 const std::vector<int>& has_bit_indices,
79 const std::vector<int>& inlined_string_indices,
82 const std::map<std::string, std::string>& vars);
142 const std::vector<const FieldDescriptor*>& ordered_fields);
147 const std::vector<const FieldDescriptor*>& ordered_fields);
191 int tag_length_bytes,
199 #endif // GOOGLE_PROTOBUF_COMPILER_CPP_PARSE_FUNCTION_GENERATOR_H__
MessageSCCAnalyzer * scc_analyzer_
void GenerateArenaString(Formatter &format, const FieldDescriptor *field)
void GenerateFieldBody(Formatter &format, google::protobuf::internal::WireFormatLite::WireType wiretype, const FieldDescriptor *field)
std::vector< int > inlined_string_indices_
bool should_generate_tctable() const
void GenerateMethodImpls(io::Printer *printer)
std::vector< FieldInfo > fast_path_fields
void GenerateTailcallFallbackFunction(Formatter &format)
const Descriptor * descriptor_
bool use_generated_fallback
ParseFunctionGenerator(const Descriptor *descriptor, int max_has_bit_index, const std::vector< int > &has_bit_indices, const std::vector< int > &inlined_string_indices, const Options &options, MessageSCCAnalyzer *scc_analyzer, const std::map< std::string, std::string > &vars)
void GenerateMethodDecls(io::Printer *printer)
enum google::protobuf::compiler::cpp::Options::@466 tctable_mode
void GenerateTailcallParseFunction(Formatter &format)
void GenerateStrings(Formatter &format, const FieldDescriptor *field, bool check_utf8)
void GenerateParseIterationBody(Formatter &format, const Descriptor *descriptor, const std::vector< const FieldDescriptor * > &ordered_fields)
const FieldDescriptor * field
std::vector< const FieldDescriptor * > fallback_fields
TailCallTableInfo(const Descriptor *descriptor, const Options &options, const std::vector< int > &has_bit_indices, MessageSCCAnalyzer *scc_analyzer)
std::string GetTailCallFieldHandlerName(ParseCardinality card, TypeFormat type_format, int tag_length_bytes, const Options &options)
const FieldDescriptor * field
google::protobuf::internal::TcFieldData bits
void GenerateTailcallFieldParseFunctions(Formatter &format)
void GenerateLoopingParseFunction(Formatter &format)
void GenerateDataDefinitions(io::Printer *printer)
void GenerateDataDecls(io::Printer *printer)
bool should_generate_guarded_tctable() const
uint32_t has_hasbits_required_mask
std::unique_ptr< TailCallTableInfo > tc_table_info_
std::map< std::string, std::string > variables_
void GenerateLengthDelim(Formatter &format, const FieldDescriptor *field)
static const char descriptor[1336]
void GenerateTailCallTable(Formatter &format)
void GenerateFastFieldEntries(Formatter &format, const std::string &fallback)
void GenerateFieldSwitch(Formatter &format, const std::vector< const FieldDescriptor * > &ordered_fields)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:58:59