cpp_message_field.h
Go to the documentation of this file.
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are
7 // met:
8 //
9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 // * Redistributions in binary form must reproduce the above
12 // copyright notice, this list of conditions and the following disclaimer
13 // in the documentation and/or other materials provided with the
14 // distribution.
15 // * Neither the name of Google Inc. nor the names of its
16 // contributors may be used to endorse or promote products derived from
17 // this software without specific prior written permission.
18 //
19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 
31 // Author: kenton@google.com (Kenton Varda)
32 // Based on original Protocol Buffers design by
33 // Sanjay Ghemawat, Jeff Dean, and others.
34 
35 #ifndef GOOGLE_PROTOBUF_COMPILER_CPP_MESSAGE_FIELD_H__
36 #define GOOGLE_PROTOBUF_COMPILER_CPP_MESSAGE_FIELD_H__
37 
38 #include <map>
39 #include <string>
42 
43 namespace google {
44 namespace protobuf {
45 namespace compiler {
46 namespace cpp {
47 
49  public:
51  const Options& options,
52  MessageSCCAnalyzer* scc_analyzer);
54 
55  // implements FieldGenerator ---------------------------------------
56  void GeneratePrivateMembers(io::Printer* printer) const;
57  void GenerateAccessorDeclarations(io::Printer* printer) const;
62  void GenerateClearingCode(io::Printer* printer) const;
63  void GenerateMessageClearingCode(io::Printer* printer) const;
64  void GenerateMergingCode(io::Printer* printer) const;
65  void GenerateSwappingCode(io::Printer* printer) const;
66  void GenerateDestructorCode(io::Printer* printer) const;
67  void GenerateConstructorCode(io::Printer* printer) const;
68  void GenerateCopyConstructorCode(io::Printer* printer) const;
69  void GenerateMergeFromCodedStream(io::Printer* printer) const;
70  void GenerateSerializeWithCachedSizes(io::Printer* printer) const;
72  void GenerateByteSize(io::Printer* printer) const;
73 
74  protected:
76 
77  private:
79 };
80 
82  public:
84  const Options& options,
85  MessageSCCAnalyzer* scc_analyzer);
87 
88  // implements FieldGenerator ---------------------------------------
91  void GenerateClearingCode(io::Printer* printer) const;
92 
93  // MessageFieldGenerator, from which we inherit, overrides this so we need to
94  // override it as well.
95  void GenerateMessageClearingCode(io::Printer* printer) const;
96  void GenerateSwappingCode(io::Printer* printer) const;
97  void GenerateDestructorCode(io::Printer* printer) const;
98  void GenerateConstructorCode(io::Printer* printer) const;
99 
100  private:
102 };
103 
105  public:
107  const Options& options,
108  MessageSCCAnalyzer* scc_analyzer);
110 
111  // implements FieldGenerator ---------------------------------------
112  void GeneratePrivateMembers(io::Printer* printer) const;
113  void GenerateAccessorDeclarations(io::Printer* printer) const;
114  void GenerateInlineAccessorDefinitions(io::Printer* printer) const;
115  void GenerateClearingCode(io::Printer* printer) const;
116  void GenerateMergingCode(io::Printer* printer) const;
117  void GenerateSwappingCode(io::Printer* printer) const;
118  void GenerateConstructorCode(io::Printer* printer) const;
119  void GenerateCopyConstructorCode(io::Printer* printer) const {}
120  void GenerateMergeFromCodedStream(io::Printer* printer) const;
121  void GenerateSerializeWithCachedSizes(io::Printer* printer) const;
123  void GenerateByteSize(io::Printer* printer) const;
124 
125  private:
127 
129 };
130 
131 } // namespace cpp
132 } // namespace compiler
133 } // namespace protobuf
134 } // namespace google
135 
136 #endif // GOOGLE_PROTOBUF_COMPILER_CPP_MESSAGE_FIELD_H__
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::~RepeatedMessageFieldGenerator
~RepeatedMessageFieldGenerator()
Definition: cpp_message_field.cc:635
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateSwappingCode
void GenerateSwappingCode(io::Printer *printer) const
Definition: cpp_message_field.cc:392
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::GenerateAccessorDeclarations
void GenerateAccessorDeclarations(io::Printer *printer) const
Definition: cpp_message_field.cc:643
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedMessageFieldGenerator)
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateMergeFromCodedStream
void GenerateMergeFromCodedStream(io::Printer *printer) const
Definition: cpp_message_field.cc:427
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::GenerateSerializeWithCachedSizes
void GenerateSerializeWithCachedSizes(io::Printer *printer) const
Definition: cpp_message_field.cc:764
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::GenerateMergingCode
void GenerateMergingCode(io::Printer *printer) const
Definition: cpp_message_field.cc:717
google::protobuf::FieldDescriptor
Definition: src/google/protobuf/descriptor.h:515
google::protobuf::compiler::cpp::MessageFieldGenerator::implicit_weak_field_
const bool implicit_weak_field_
Definition: cpp_message_field.h:75
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateClearingCode
void GenerateClearingCode(io::Printer *printer) const
Definition: cpp_message_field.cc:348
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::GenerateMergeFromCodedStream
void GenerateMergeFromCodedStream(io::Printer *printer) const
Definition: cpp_message_field.cc:741
options
Message * options
Definition: src/google/protobuf/descriptor.cc:3119
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateMessageClearingCode
void GenerateMessageClearingCode(io::Printer *printer) const
Definition: cpp_message_field.cc:363
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::GenerateSerializeWithCachedSizesToArray
void GenerateSerializeWithCachedSizesToArray(io::Printer *printer) const
Definition: cpp_message_field.cc:785
google::protobuf::compiler::cpp::MessageOneofFieldGenerator::GenerateSwappingCode
void GenerateSwappingCode(io::Printer *printer) const
Definition: cpp_message_field.cc:607
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateInternalAccessorDefinitions
void GenerateInternalAccessorDefinitions(io::Printer *printer) const
Definition: cpp_message_field.cc:270
descriptor
Descriptor * descriptor
Definition: php/ext/google/protobuf/protobuf.h:936
google::protobuf::compiler::cpp::MessageOneofFieldGenerator::MessageOneofFieldGenerator
MessageOneofFieldGenerator(const FieldDescriptor *descriptor, const Options &options, MessageSCCAnalyzer *scc_analyzer)
Definition: cpp_message_field.cc:472
google::protobuf::compiler::cpp::MessageFieldGenerator::GeneratePrivateMembers
void GeneratePrivateMembers(io::Printer *printer) const
Definition: cpp_message_field.cc:97
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateNonInlineAccessorDefinitions
void GenerateNonInlineAccessorDefinitions(io::Printer *printer) const
Definition: cpp_message_field.cc:126
cpp_helpers.h
google::protobuf::compiler::cpp::MessageFieldGenerator::MessageFieldGenerator
MessageFieldGenerator(const FieldDescriptor *descriptor, const Options &options, MessageSCCAnalyzer *scc_analyzer)
Definition: cpp_message_field.cc:86
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateSerializeWithCachedSizesToArray
void GenerateSerializeWithCachedSizesToArray(io::Printer *printer) const
Definition: cpp_message_field.cc:453
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateCopyConstructorCode
void GenerateCopyConstructorCode(io::Printer *printer) const
Definition: cpp_message_field.cc:416
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateDestructorCode
void GenerateDestructorCode(io::Printer *printer) const
Definition: cpp_message_field.cc:397
google::protobuf::compiler::cpp::FieldGenerator
Definition: cpp_field.h:71
google::protobuf::compiler::cpp::MessageFieldGenerator::GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator)
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::GenerateCopyConstructorCode
void GenerateCopyConstructorCode(io::Printer *printer) const
Definition: cpp_message_field.h:119
google::protobuf::compiler::cpp::MessageOneofFieldGenerator
Definition: cpp_message_field.h:81
cpp
Definition: third_party/googletest/googlemock/scripts/generator/cpp/__init__.py:1
google::protobuf::compiler::cpp::Options
Definition: cpp_options.h:52
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateConstructorCode
void GenerateConstructorCode(io::Printer *printer) const
Definition: cpp_message_field.cc:410
google::protobuf::compiler::cpp::MessageOneofFieldGenerator::GenerateMessageClearingCode
void GenerateMessageClearingCode(io::Printer *printer) const
Definition: cpp_message_field.cc:602
google::protobuf::io::Printer
Definition: printer.h:181
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateSerializeWithCachedSizes
void GenerateSerializeWithCachedSizes(io::Printer *printer) const
Definition: cpp_message_field.cc:445
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::GeneratePrivateMembers
void GeneratePrivateMembers(io::Printer *printer) const
Definition: cpp_message_field.cc:637
google::protobuf::compiler::cpp::MessageOneofFieldGenerator::GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageOneofFieldGenerator)
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator
Definition: cpp_message_field.h:104
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::GenerateClearingCode
void GenerateClearingCode(io::Printer *printer) const
Definition: cpp_message_field.cc:705
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::GenerateByteSize
void GenerateByteSize(io::Printer *printer) const
Definition: cpp_message_field.cc:797
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::GenerateSwappingCode
void GenerateSwappingCode(io::Printer *printer) const
Definition: cpp_message_field.cc:730
google::protobuf::compiler::cpp::MessageSCCAnalyzer
Definition: cpp_helpers.h:524
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::GenerateInlineAccessorDefinitions
void GenerateInlineAccessorDefinitions(io::Printer *printer) const
Definition: cpp_message_field.cc:657
google::protobuf::compiler::cpp::MessageOneofFieldGenerator::GenerateClearingCode
void GenerateClearingCode(io::Printer *printer) const
Definition: cpp_message_field.cc:589
google::protobuf::compiler::cpp::MessageOneofFieldGenerator::~MessageOneofFieldGenerator
~MessageOneofFieldGenerator()
Definition: cpp_message_field.cc:479
google::protobuf::compiler::cpp::MessageOneofFieldGenerator::GenerateInlineAccessorDefinitions
void GenerateInlineAccessorDefinitions(io::Printer *printer) const
Definition: cpp_message_field.cc:516
google::protobuf::compiler::cpp::MessageOneofFieldGenerator::GenerateNonInlineAccessorDefinitions
void GenerateNonInlineAccessorDefinitions(io::Printer *printer) const
Definition: cpp_message_field.cc:481
google::protobuf::compiler::cpp::MessageOneofFieldGenerator::GenerateDestructorCode
void GenerateDestructorCode(io::Printer *printer) const
Definition: cpp_message_field.cc:612
google::protobuf::compiler::cpp::MessageFieldGenerator::~MessageFieldGenerator
~MessageFieldGenerator()
Definition: cpp_message_field.cc:95
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateByteSize
void GenerateByteSize(io::Printer *printer) const
Definition: cpp_message_field.cc:462
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::RepeatedMessageFieldGenerator
RepeatedMessageFieldGenerator(const FieldDescriptor *descriptor, const Options &options, MessageSCCAnalyzer *scc_analyzer)
Definition: cpp_message_field.cc:626
cpp_field.h
google::protobuf::compiler::cpp::MessageFieldGenerator
Definition: cpp_message_field.h:48
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::GenerateConstructorCode
void GenerateConstructorCode(io::Printer *printer) const
Definition: cpp_message_field.cc:736
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateInternalAccessorDeclarations
void GenerateInternalAccessorDeclarations(io::Printer *printer) const
Definition: cpp_message_field.cc:256
compiler
Definition: plugin.pb.cc:22
google
Definition: data_proto2_to_proto3_util.h:11
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateMergingCode
void GenerateMergingCode(io::Printer *printer) const
Definition: cpp_message_field.cc:381
google::protobuf::compiler::cpp::MessageOneofFieldGenerator::GenerateConstructorCode
void GenerateConstructorCode(io::Printer *printer) const
Definition: cpp_message_field.cc:618
google::protobuf::compiler::cpp::RepeatedMessageFieldGenerator::implicit_weak_field_
const bool implicit_weak_field_
Definition: cpp_message_field.h:126
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateInlineAccessorDefinitions
void GenerateInlineAccessorDefinitions(io::Printer *printer) const
Definition: cpp_message_field.cc:150
google::protobuf::compiler::cpp::MessageFieldGenerator::GenerateAccessorDeclarations
void GenerateAccessorDeclarations(io::Printer *printer) const
Definition: cpp_message_field.cc:106


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:49