protobuf/src/google/protobuf/compiler/cpp/cpp_options.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: rennie@google.com (Jeffrey Rennie)
32 
33 #ifndef GOOGLE_PROTOBUF_COMPILER_CPP_OPTIONS_H__
34 #define GOOGLE_PROTOBUF_COMPILER_CPP_OPTIONS_H__
35 
36 #include <set>
37 #include <string>
38 
39 namespace google {
40 namespace protobuf {
41 namespace compiler {
42 class AccessInfoMap;
43 
44 namespace cpp {
45 
46 enum class EnforceOptimizeMode {
47  kNoEnforcement, // Use the runtime specified by the file specific options.
48  kSpeed, // Full runtime with a generated code implementation.
49  kCodeSize, // Full runtime with a reflective implementation.
51 };
52 
55  std::set<std::string> forbidden_field_listener_events;
56 };
57 
58 // Generator options (see generator.cc for a description of each):
59 struct Options {
61  bool safe_boundary_check = false;
62  bool proto_h = false;
63  bool transitive_pb_h = true;
64  bool annotate_headers = false;
66  bool table_driven_parsing = false;
67  bool table_driven_serialization = false;
68  bool lite_implicit_weak_fields = false;
69  bool bootstrap = false;
70  bool opensource_runtime = false;
71  bool annotate_accessor = false;
72  bool unused_field_stripping = false;
74  bool force_inline_string = false;
76  int num_cc_files = 0;
79  const AccessInfoMap* access_info_map = nullptr;
80  enum {
86  bool eagerly_verified_lazy = false;
88 };
89 
90 } // namespace cpp
91 } // namespace compiler
92 } // namespace protobuf
93 } // namespace google
94 
95 #endif // GOOGLE_PROTOBUF_COMPILER_CPP_OPTIONS_H__
google::protobuf::compiler::cpp::Options::access_info_map
const AccessInfoMap * access_info_map
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:69
google::protobuf::compiler::cpp::EnforceOptimizeMode::kLiteRuntime
@ kLiteRuntime
google::protobuf::compiler::cpp::EnforceOptimizeMode
EnforceOptimizeMode
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:45
google::protobuf::compiler::cpp::Options::bootstrap
bool bootstrap
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:62
google::protobuf::compiler::cpp::Options::force_eagerly_verified_lazy
bool force_eagerly_verified_lazy
Definition: protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:87
google::protobuf::compiler::cpp::Options::kTCTableNever
@ kTCTableNever
Definition: protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:81
google::protobuf::compiler::cpp::Options::profile_driven_inline_string
bool profile_driven_inline_string
Definition: protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:73
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
google::protobuf::compiler::cpp::Options::annotate_accessor
bool annotate_accessor
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:64
google::protobuf
Definition: bloaty/third_party/protobuf/benchmarks/util/data_proto2_to_proto3_util.h:12
google::protobuf::compiler::cpp::FieldListenerOptions
Definition: protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:53
google::protobuf::compiler::cpp::Options::force_inline_string
bool force_inline_string
Definition: protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:74
google::protobuf::compiler::cpp::Options::kTCTableAlways
@ kTCTableAlways
Definition: protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:83
google::protobuf::compiler::cpp::Options::field_listener_options
FieldListenerOptions field_listener_options
Definition: protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:85
google::protobuf::compiler::cpp::Options::annotate_headers
bool annotate_headers
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:57
google::protobuf::compiler::cpp::Options::safe_boundary_check
bool safe_boundary_check
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:54
google::protobuf::compiler::cpp::Options::lite_implicit_weak_fields
bool lite_implicit_weak_fields
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:61
google::protobuf::compiler::cpp::EnforceOptimizeMode::kCodeSize
@ kCodeSize
google::protobuf::compiler::cpp::Options::tctable_mode
enum google::protobuf::compiler::cpp::Options::@466 tctable_mode
google::protobuf::compiler::cpp::Options::proto_h
bool proto_h
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:55
google::protobuf::compiler::cpp::Options::table_driven_serialization
bool table_driven_serialization
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:60
google::protobuf::compiler::cpp::FieldListenerOptions::inject_field_listener_events
bool inject_field_listener_events
Definition: protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:54
cpp
Definition: third_party/bloaty/third_party/googletest/googlemock/scripts/generator/cpp/__init__.py:1
google::protobuf::compiler::cpp::Options
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:52
google::protobuf::compiler::cpp::Options::eagerly_verified_lazy
bool eagerly_verified_lazy
Definition: protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:86
google::protobuf::compiler::cpp::Options::opensource_runtime
bool opensource_runtime
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:63
google::protobuf::compiler::cpp::Options::num_cc_files
int num_cc_files
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:66
google::protobuf::compiler::cpp::Options::kTCTableGuarded
@ kTCTableGuarded
Definition: protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:82
google::protobuf::compiler::cpp::Options::annotation_guard_name
std::string annotation_guard_name
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:68
google::protobuf::compiler::cpp::FieldListenerOptions::forbidden_field_listener_events
std::set< std::string > forbidden_field_listener_events
Definition: protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:55
google::protobuf::compiler::cpp::Options::unused_field_stripping
bool unused_field_stripping
Definition: protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:72
google::protobuf::compiler::cpp::EnforceOptimizeMode::kNoEnforcement
@ kNoEnforcement
google::protobuf::compiler::cpp::EnforceOptimizeMode::kSpeed
@ kSpeed
google::protobuf::compiler::cpp::Options::enforce_mode
EnforceOptimizeMode enforce_mode
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:58
google::protobuf::compiler::cpp::Options::annotation_pragma_name
std::string annotation_pragma_name
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:67
google::protobuf::compiler::cpp::Options::table_driven_parsing
bool table_driven_parsing
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:59
google::protobuf::compiler::cpp::Options::transitive_pb_h
bool transitive_pb_h
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:56
google::protobuf::compiler::cpp::Options::dllexport_decl
std::string dllexport_decl
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:53
compiler
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/plugin.pb.cc:21
google
Definition: bloaty/third_party/protobuf/benchmarks/util/data_proto2_to_proto3_util.h:11
google::protobuf::compiler::cpp::Options::runtime_include_base
std::string runtime_include_base
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/cpp/cpp_options.h:65


grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:05