cpp_string_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_STRING_FIELD_H__
36 #define GOOGLE_PROTOBUF_COMPILER_CPP_STRING_FIELD_H__
37 
38 #include <map>
39 #include <string>
41 
42 namespace google {
43 namespace protobuf {
44 namespace compiler {
45 namespace cpp {
46 
48  public:
50  const Options& options);
52 
53  // implements FieldGenerator ---------------------------------------
54  void GeneratePrivateMembers(io::Printer* printer) const;
55  void GenerateStaticMembers(io::Printer* printer) const;
56  void GenerateAccessorDeclarations(io::Printer* printer) const;
59  void GenerateClearingCode(io::Printer* printer) const;
60  void GenerateMessageClearingCode(io::Printer* printer) const;
61  void GenerateMergingCode(io::Printer* printer) const;
62  void GenerateSwappingCode(io::Printer* printer) const;
63  void GenerateConstructorCode(io::Printer* printer) const;
64  void GenerateCopyConstructorCode(io::Printer* printer) const;
65  void GenerateDestructorCode(io::Printer* printer) const;
66  bool GenerateArenaDestructorCode(io::Printer* printer) const;
67  void GenerateDefaultInstanceAllocator(io::Printer* printer) const;
68  void GenerateMergeFromCodedStream(io::Printer* printer) const;
69  void GenerateSerializeWithCachedSizes(io::Printer* printer) const;
71  void GenerateByteSize(io::Printer* printer) const;
72  uint32 CalculateFieldTag() const;
73  bool IsInlined() const { return inlined_; }
74 
75  bool MergeFromCodedStreamNeedsArena() const;
76 
77  protected:
78  const bool lite_;
79  bool inlined_;
80 
81  private:
83 };
84 
86  public:
88  const Options& options);
90 
91  // implements FieldGenerator ---------------------------------------
93  void GenerateClearingCode(io::Printer* printer) const;
94 
95  // StringFieldGenerator, from which we inherit, overrides this so we need to
96  // override it as well.
97  void GenerateMessageClearingCode(io::Printer* printer) const;
98  void GenerateSwappingCode(io::Printer* printer) const;
99  void GenerateConstructorCode(io::Printer* printer) const;
100  void GenerateDestructorCode(io::Printer* printer) const;
101  void GenerateMergeFromCodedStream(io::Printer* printer) const;
102 
103  private:
105 };
106 
108  public:
110  const Options& options);
112 
113  // implements FieldGenerator ---------------------------------------
114  void GeneratePrivateMembers(io::Printer* printer) const;
115  void GenerateAccessorDeclarations(io::Printer* printer) const;
116  void GenerateInlineAccessorDefinitions(io::Printer* printer) const;
117  void GenerateClearingCode(io::Printer* printer) const;
118  void GenerateMergingCode(io::Printer* printer) const;
119  void GenerateSwappingCode(io::Printer* printer) const;
120  void GenerateConstructorCode(io::Printer* printer) const;
121  void GenerateCopyConstructorCode(io::Printer* printer) const;
122  void GenerateMergeFromCodedStream(io::Printer* printer) const;
123  void GenerateSerializeWithCachedSizes(io::Printer* printer) const;
125  void GenerateByteSize(io::Printer* printer) const;
126 
127  private:
129 };
130 
131 } // namespace cpp
132 } // namespace compiler
133 } // namespace protobuf
134 } // namespace google
135 
136 #endif // GOOGLE_PROTOBUF_COMPILER_CPP_STRING_FIELD_H__
google::protobuf::compiler::cpp::StringFieldGenerator::IsInlined
bool IsInlined() const
Definition: cpp_string_field.h:73
google::protobuf::compiler::cpp::StringOneofFieldGenerator::GenerateConstructorCode
void GenerateConstructorCode(io::Printer *printer) const
Definition: cpp_string_field.cc:920
google::protobuf::compiler::cpp::StringFieldGenerator::MergeFromCodedStreamNeedsArena
bool MergeFromCodedStreamNeedsArena() const
Definition: cpp_string_field.cc:611
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateCopyConstructorCode
void GenerateCopyConstructorCode(io::Printer *printer) const
Definition: cpp_string_field.cc:514
google::protobuf::FieldDescriptor
Definition: src/google/protobuf/descriptor.h:515
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::RepeatedStringFieldGenerator
RepeatedStringFieldGenerator(const FieldDescriptor *descriptor, const Options &options)
Definition: cpp_string_field.cc:976
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::GenerateSerializeWithCachedSizes
void GenerateSerializeWithCachedSizes(io::Printer *printer) const
Definition: cpp_string_field.cc:1192
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateMergingCode
void GenerateMergingCode(io::Printer *printer) const
Definition: cpp_string_field.cc:479
options
Message * options
Definition: src/google/protobuf/descriptor.cc:3119
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateSerializeWithCachedSizesToArray
void GenerateSerializeWithCachedSizesToArray(io::Printer *printer) const
Definition: cpp_string_field.cc:630
google::protobuf::compiler::cpp::StringOneofFieldGenerator::GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringOneofFieldGenerator)
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateSerializeWithCachedSizes
void GenerateSerializeWithCachedSizes(io::Printer *printer) const
Definition: cpp_string_field.cc:615
google::protobuf::compiler::cpp::StringOneofFieldGenerator::GenerateClearingCode
void GenerateClearingCode(io::Printer *printer) const
Definition: cpp_string_field.cc:898
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::GenerateClearingCode
void GenerateClearingCode(io::Printer *printer) const
Definition: cpp_string_field.cc:1148
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateMessageClearingCode
void GenerateMessageClearingCode(io::Printer *printer) const
Definition: cpp_string_field.cc:423
google::protobuf::uint32
uint32_t uint32
Definition: protobuf/src/google/protobuf/stubs/port.h:155
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateSwappingCode
void GenerateSwappingCode(io::Printer *printer) const
Definition: cpp_string_field.cc:491
descriptor
Descriptor * descriptor
Definition: php/ext/google/protobuf/protobuf.h:936
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateArenaDestructorCode
bool GenerateArenaDestructorCode(io::Printer *printer) const
Definition: cpp_string_field.cc:550
google::protobuf::compiler::cpp::StringOneofFieldGenerator
Definition: cpp_string_field.h:85
google::protobuf::compiler::cpp::StringOneofFieldGenerator::GenerateDestructorCode
void GenerateDestructorCode(io::Printer *printer) const
Definition: cpp_string_field.cc:928
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::GenerateInlineAccessorDefinitions
void GenerateInlineAccessorDefinitions(io::Printer *printer) const
Definition: cpp_string_field.cc:1053
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::GenerateMergeFromCodedStream
void GenerateMergeFromCodedStream(io::Printer *printer) const
Definition: cpp_string_field.cc:1177
google::protobuf::compiler::cpp::StringFieldGenerator
Definition: cpp_string_field.h:47
google::protobuf::compiler::cpp::FieldGenerator
Definition: cpp_field.h:71
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::GenerateAccessorDeclarations
void GenerateAccessorDeclarations(io::Printer *printer) const
Definition: cpp_string_field.cc:990
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateByteSize
void GenerateByteSize(io::Printer *printer) const
Definition: cpp_string_field.cc:645
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::GenerateSwappingCode
void GenerateSwappingCode(io::Printer *printer) const
Definition: cpp_string_field.cc:1160
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::~RepeatedStringFieldGenerator
~RepeatedStringFieldGenerator()
Definition: cpp_string_field.cc:982
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateMergeFromCodedStream
void GenerateMergeFromCodedStream(io::Printer *printer) const
Definition: cpp_string_field.cc:574
google::protobuf::compiler::cpp::StringOneofFieldGenerator::GenerateInlineAccessorDefinitions
void GenerateInlineAccessorDefinitions(io::Printer *printer) const
Definition: cpp_string_field.cc:669
google::protobuf::compiler::cpp::StringFieldGenerator::StringFieldGenerator
StringFieldGenerator(const FieldDescriptor *descriptor, const Options &options)
Definition: cpp_string_field.cc:88
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateDefaultInstanceAllocator
void GenerateDefaultInstanceAllocator(io::Printer *printer) const
Definition: cpp_string_field.cc:561
google::protobuf::compiler::cpp::StringFieldGenerator::GeneratePrivateMembers
void GeneratePrivateMembers(io::Printer *printer) const
Definition: cpp_string_field.cc:98
google::protobuf::compiler::cpp::StringOneofFieldGenerator::StringOneofFieldGenerator
StringOneofFieldGenerator(const FieldDescriptor *descriptor, const Options &options)
Definition: cpp_string_field.cc:659
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::GeneratePrivateMembers
void GeneratePrivateMembers(io::Printer *printer) const
Definition: cpp_string_field.cc:984
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedStringFieldGenerator)
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::GenerateSerializeWithCachedSizesToArray
void GenerateSerializeWithCachedSizesToArray(io::Printer *printer) const
Definition: cpp_string_field.cc:1210
google::protobuf::compiler::cpp::StringFieldGenerator::inlined_
bool inlined_
Definition: cpp_string_field.h:79
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateInlineAccessorDefinitions
void GenerateInlineAccessorDefinitions(io::Printer *printer) const
Definition: cpp_string_field.cc:208
google::protobuf::compiler::cpp::StringFieldGenerator::~StringFieldGenerator
~StringFieldGenerator()
Definition: cpp_string_field.cc:96
google::protobuf::compiler::cpp::StringFieldGenerator::CalculateFieldTag
uint32 CalculateFieldTag() const
Definition: cpp_string_field.cc:653
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::RepeatedStringFieldGenerator::GenerateMergingCode
void GenerateMergingCode(io::Printer *printer) const
Definition: cpp_string_field.cc:1154
google::protobuf::io::Printer
Definition: printer.h:181
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateNonInlineAccessorDefinitions
void GenerateNonInlineAccessorDefinitions(io::Printer *printer) const
Definition: cpp_string_field.cc:389
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator
Definition: cpp_string_field.h:107
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::GenerateConstructorCode
void GenerateConstructorCode(io::Printer *printer) const
Definition: cpp_string_field.cc:1166
google::protobuf::compiler::cpp::StringFieldGenerator::GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator)
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::GenerateByteSize
void GenerateByteSize(io::Printer *printer) const
Definition: cpp_string_field.cc:1228
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateAccessorDeclarations
void GenerateAccessorDeclarations(io::Printer *printer) const
Definition: cpp_string_field.cc:132
google::protobuf::compiler::cpp::RepeatedStringFieldGenerator::GenerateCopyConstructorCode
void GenerateCopyConstructorCode(io::Printer *printer) const
Definition: cpp_string_field.cc:1171
google::protobuf::compiler::cpp::StringFieldGenerator::lite_
const bool lite_
Definition: cpp_string_field.h:78
google::protobuf::compiler::cpp::StringOneofFieldGenerator::GenerateMergeFromCodedStream
void GenerateMergeFromCodedStream(io::Printer *printer) const
Definition: cpp_string_field.cc:937
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateClearingCode
void GenerateClearingCode(io::Printer *printer) const
Definition: cpp_string_field.cc:400
google::protobuf::compiler::cpp::StringOneofFieldGenerator::GenerateMessageClearingCode
void GenerateMessageClearingCode(io::Printer *printer) const
Definition: cpp_string_field.cc:910
google::protobuf::compiler::cpp::StringOneofFieldGenerator::~StringOneofFieldGenerator
~StringOneofFieldGenerator()
Definition: cpp_string_field.cc:667
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateStaticMembers
void GenerateStaticMembers(io::Printer *printer) const
Definition: cpp_string_field.cc:119
cpp_field.h
compiler
Definition: plugin.pb.cc:22
google
Definition: data_proto2_to_proto3_util.h:11
google::protobuf::compiler::cpp::StringOneofFieldGenerator::GenerateSwappingCode
void GenerateSwappingCode(io::Printer *printer) const
Definition: cpp_string_field.cc:915
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateConstructorCode
void GenerateConstructorCode(io::Printer *printer) const
Definition: cpp_string_field.cc:502
google::protobuf::compiler::cpp::StringFieldGenerator::GenerateDestructorCode
void GenerateDestructorCode(io::Printer *printer) const
Definition: cpp_string_field.cc:540


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