Go to the documentation of this file.
38 #ifndef GOOGLE_PROTOBUF_UNKNOWN_FIELD_SET_H__
39 #define GOOGLE_PROTOBUF_UNKNOWN_FIELD_SET_H__
46 #include <google/protobuf/stubs/common.h>
47 #include <google/protobuf/stubs/logging.h>
48 #include <google/protobuf/parse_context.h>
49 #include <google/protobuf/io/coded_stream.h>
50 #include <google/protobuf/io/zero_copy_stream_impl_lite.h>
51 #include <google/protobuf/message_lite.h>
52 #include <google/protobuf/port.h>
54 #include <google/protobuf/port_def.inc>
57 #error "You cannot SWIG proto headers"
63 class InternalMetadata;
65 class MessageSetFieldSkipperUsingCord;
93 void ClearAndFreeMemory();
96 inline bool empty()
const;
108 internal::InternalMetadata*
metadata);
116 size_t SpaceUsedExcludingSelfLong()
const;
123 size_t SpaceUsedLong()
const;
128 inline int field_count()
const;
151 void DeleteSubrange(
int start,
int num);
156 void DeleteByNumber(
int number);
164 bool ParseFromArray(
const void*
data,
int size);
166 return ParseFromArray(
data.data(),
static_cast<int>(
data.size()));
172 template <
typename MessageType>
173 bool MergeFromMessage(
const MessageType&
message);
183 void ClearFallback();
185 template <
typename MessageType,
186 typename std::enable_if<
193 template <
typename MessageType,
194 typename std::enable_if<
199 const auto& unknown_fields =
message.unknown_fields();
201 unknown_fields.size());
203 return MergeFromCodedStream(&coded_stream);
206 std::vector<UnknownField>
fields_;
213 unknown->AddVarint(
num, val);
217 unknown->AddLengthDelimited(
num)->assign(val.data(), val.size());
225 const char*
ptr, ParseContext*
ctx);
236 TYPE_LENGTH_DELIMITED,
241 inline int number()
const;
252 inline const std::string& length_delimited()
const;
267 output->SetCur(InternalSerializeLengthDelimitedNoTag(
output->Cur(),
271 inline size_t GetLengthDelimitedSize()
const;
272 uint8_t* InternalSerializeLengthDelimitedNoTag(
286 union LengthDelimited {
323 return static_cast<int>(
fields_.size());
347 return data_.varint_;
351 return data_.fixed32_;
355 return data_.fixed64_;
359 return *
data_.length_delimited_.string_value;
363 return *
data_.group_;
380 data_.length_delimited_.string_value->assign(
value);
384 return data_.length_delimited_.string_value;
390 template <
typename MessageType>
399 return data_.length_delimited_.string_value->size();
410 #include <google/protobuf/port_undef.inc>
411 #endif // GOOGLE_PROTOBUF_UNKNOWN_FIELD_SET_H__
std::string * mutable_length_delimited()
const UnknownFieldSet & group() const
void Swap(T &lhs, T &rhs) noexcept(IsNothrowSwappable< T >::value)
const Descriptor::ReservedRange value
int SpaceUsedExcludingSelf() const
void set_fixed64(uint64 value)
#define GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName)
void SerializeLengthDelimitedNoTag(io::CodedOutputStream *output) const
const char * UnknownFieldParse(uint32 tag, std::string *unknown, const char *ptr, ParseContext *ctx)
static PyObject * UnknownFieldSet(CMessage *self)
bool ParseFromString(const std::string &data)
PyObject * DeepCopy(CMessage *self, PyObject *arg)
const char * UnknownGroupParse(UnknownFieldSet *unknown, const char *ptr, ParseContext *ctx)
const std::string & length_delimited() const
static void * tag(intptr_t t)
UnknownFieldSet * mutable_group()
int ToIntSize(size_t size)
size_t GetLengthDelimitedSize() const
void WriteLengthDelimited(uint32 num, StringPiece val, std::string *s)
unsigned __int64 uint64_t
union google::protobuf::UnknownField::@284 data_
std::vector< UnknownField > fields_
void AddLengthDelimited(int number, const std::string &value)
FieldDescriptorProto * AddField(DescriptorProto *parent, const std::string &name, int number, FieldDescriptorProto::Label label, FieldDescriptorProto::Type type)
bool InternalMergeFromMessage(const MessageType &message)
bool MergeFromMessage(const MessageType &message)
const UnknownField & field(int index) const
const FieldDescriptor * field
void set_length_delimited(const std::string &value)
UnknownField * mutable_field(int index)
void ClearAndFreeMemory()
void set_varint(uint64 value)
std::vector< const FieldDescriptor * > fields_
void set_fixed32(uint32 value)
void WriteVarint(uint64 val, std::string *s)
void Swap(UnknownFieldSet *x)
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:44