grpc
third_party
protobuf
src
google
protobuf
protobuf/src/google/protobuf/generated_enum_util.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
#ifndef GOOGLE_PROTOBUF_GENERATED_ENUM_UTIL_H__
32
#define GOOGLE_PROTOBUF_GENERATED_ENUM_UTIL_H__
33
34
#include <type_traits>
35
36
#include <google/protobuf/message_lite.h>
37
#include <google/protobuf/stubs/strutil.h>
38
39
#include <google/protobuf/port_def.inc>
40
41
#ifdef SWIG
42
#error "You cannot SWIG proto headers"
43
#endif
44
45
namespace
google
{
46
namespace
protobuf
{
47
48
// This type trait can be used to cause templates to only match proto2 enum
49
// types.
50
template
<
typename
T>
51
struct
is_proto_enum :
::std::false_type
{};
52
53
namespace
internal
{
54
55
// The table entry format for storing enum name-to-value mapping used with lite
56
// protos. This struct and the following related functions should only be used
57
// by protobuf generated code.
58
struct
EnumEntry {
59
StringPiece
name
;
60
int
value
;
61
};
62
63
// Looks up a numeric enum value given the string name.
64
PROTOBUF_EXPORT
bool
LookUpEnumValue
(
const
EnumEntry* enums,
size_t
size
,
65
StringPiece
name
,
int
*
value
);
66
67
// Looks up an enum name given the numeric value.
68
PROTOBUF_EXPORT
int
LookUpEnumName
(
const
EnumEntry* enums,
69
const
int
* sorted_indices,
size_t
size
,
70
int
value
);
71
72
// Initializes the list of enum names in std::string form.
73
PROTOBUF_EXPORT
bool
InitializeEnumStrings
(
74
const
EnumEntry* enums,
const
int
* sorted_indices,
size_t
size
,
75
internal::ExplicitlyConstructed<std::string>* enum_strings);
76
77
}
// namespace internal
78
}
// namespace protobuf
79
}
// namespace google
80
81
#include <google/protobuf/port_undef.inc>
82
83
#endif // GOOGLE_PROTOBUF_GENERATED_ENUM_UTIL_H__
google::protobuf.internal::LookUpEnumName
int LookUpEnumName(const EnumEntry *enums, const int *sorted_indices, size_t size, int value)
Definition:
bloaty/third_party/protobuf/src/google/protobuf/generated_enum_util.cc:70
google::protobuf::value
const Descriptor::ReservedRange value
Definition:
bloaty/third_party/protobuf/src/google/protobuf/descriptor.h:1954
google::protobuf.internal::false_type
integral_constant< bool, false > false_type
Definition:
bloaty/third_party/protobuf/src/google/protobuf/stubs/template_util.h:90
google::protobuf.internal::EnumEntry::value
int value
Definition:
bloaty/third_party/protobuf/src/google/protobuf/generated_enum_util.h:60
google::protobuf
Definition:
bloaty/third_party/protobuf/benchmarks/util/data_proto2_to_proto3_util.h:12
setup.name
name
Definition:
setup.py:542
google::protobuf.internal::InitializeEnumStrings
bool InitializeEnumStrings(const EnumEntry *enums, const int *sorted_indices, size_t size, internal::ExplicitlyConstructed< std::string > *enum_strings)
Definition:
bloaty/third_party/protobuf/src/google/protobuf/generated_enum_util.cc:83
google::protobuf.internal::LookUpEnumValue
bool LookUpEnumValue(const EnumEntry *enums, size_t size, StringPiece name, int *value)
Definition:
bloaty/third_party/protobuf/src/google/protobuf/generated_enum_util.cc:59
google::protobuf.internal::EnumEntry::name
StringPiece name
Definition:
bloaty/third_party/protobuf/src/google/protobuf/generated_enum_util.h:59
internal
Definition:
benchmark/test/output_test_helper.cc:20
size
voidpf void uLong size
Definition:
bloaty/third_party/zlib/contrib/minizip/ioapi.h:136
google
Definition:
bloaty/third_party/protobuf/benchmarks/util/data_proto2_to_proto3_util.h:11
grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:25