protobuf
src
google
protobuf
reflection_ops.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
// This header is logically internal, but is made public because it is used
36
// from protocol-compiler-generated code, which may reside in other components.
37
38
#ifndef GOOGLE_PROTOBUF_REFLECTION_OPS_H__
39
#define GOOGLE_PROTOBUF_REFLECTION_OPS_H__
40
41
#include <
google/protobuf/stubs/common.h
>
42
#include <
google/protobuf/message.h
>
43
44
#ifdef SWIG
45
#error "You cannot SWIG proto headers"
46
#endif
47
48
#include <google/protobuf/port_def.inc>
49
50
namespace
google
{
51
namespace
protobuf {
52
namespace
internal
{
53
54
// Basic operations that can be performed using reflection.
55
// These can be used as a cheap way to implement the corresponding
56
// methods of the Message interface, though they are likely to be
57
// slower than implementations tailored for the specific message type.
58
//
59
// This class should stay limited to operations needed to implement
60
// the Message interface.
61
//
62
// This class is really a namespace that contains only static methods.
63
class
PROTOBUF_EXPORT
ReflectionOps
{
64
public
:
65
static
void
Copy(
const
Message
& from,
Message
* to);
66
static
void
Merge
(
const
Message
& from,
Message
* to);
67
static
void
Clear
(
Message
*
message
);
68
static
bool
IsInitialized
(
const
Message
&
message
);
69
static
void
DiscardUnknownFields
(
Message
*
message
);
70
71
// Finds all unset required fields in the message and adds their full
72
// paths (e.g. "foo.bar[5].baz") to *names. "prefix" will be attached to
73
// the front of each name.
74
static
void
FindInitializationErrors
(
const
Message
&
message
,
75
const
std::string
&
prefix
,
76
std::vector<std::string>*
errors
);
77
78
private
:
79
// All methods are static. No need to construct.
80
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
(
ReflectionOps
);
81
};
82
83
}
// namespace internal
84
}
// namespace protobuf
85
}
// namespace google
86
87
#include <google/protobuf/port_undef.inc>
88
89
#endif // GOOGLE_PROTOBUF_REFLECTION_OPS_H__
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
#define GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName)
Definition:
macros.h:40
google::protobuf.internal.python_message.DiscardUnknownFields
DiscardUnknownFields
Definition:
python_message.py:1433
errors
const char * errors
Definition:
tokenizer_unittest.cc:841
string
GLsizei const GLchar *const * string
Definition:
glcorearb.h:3083
prefix
static const char prefix[]
Definition:
test_pair_ipc.cpp:26
message.h
google::protobuf::Message
Definition:
src/google/protobuf/message.h:205
google::protobuf.internal.python_message.Clear
Clear
Definition:
python_message.py:1431
common.h
google::protobuf.internal.python_message.IsInitialized
IsInitialized
Definition:
python_message.py:1246
internal
Definition:
any.pb.h:40
google::protobuf.internal::ReflectionOps
Definition:
reflection_ops.h:63
google
Definition:
data_proto2_to_proto3_util.h:11
message
GLenum GLuint GLenum GLsizei const GLchar * message
Definition:
glcorearb.h:2695
google::protobuf.text_format.Merge
def Merge(text, message, allow_unknown_extension=False, allow_field_number=False, descriptor_pool=None, allow_unknown_field=False)
Definition:
text_format.py:656
google::protobuf.internal.python_message.FindInitializationErrors
FindInitializationErrors
Definition:
python_message.py:1292
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:58