Go to the documentation of this file.
58 #include <google/protobuf/port_def.inc>
64 return "(cannot determine missing fields for lite message)";
68 std::uintptr_t
address =
reinterpret_cast<std::uintptr_t
>(
this);
80 void ByteSizeConsistencyError(
size_t byte_size_before_serialization,
81 size_t byte_size_after_serialization,
82 size_t bytes_produced_by_serialization,
84 GOOGLE_CHECK_EQ(byte_size_before_serialization, byte_size_after_serialization)
86 <<
" was modified concurrently during serialization.";
87 GOOGLE_CHECK_EQ(bytes_produced_by_serialization, byte_size_before_serialization)
88 <<
"Byte size calculation and serialization were inconsistent. This "
89 "may indicate a bug in protocol buffers or it may be caused by "
90 "concurrent modification of "
91 <<
message.GetTypeName() <<
".";
92 GOOGLE_LOG(
FATAL) <<
"This shouldn't be called if all the sizes are equal.";
109 result +=
" message of type \"";
110 result +=
message.GetTypeName();
111 result +=
"\" because it is missing required fields: ";
112 result +=
message.InitializationErrorString();
116 inline StringPiece as_string_view(
const void*
data,
int size) {
117 return StringPiece(
static_cast<const char*
>(
data),
size);
128 #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
130 template <
bool aliasing>
134 aliasing, &ptr,
input);
135 ptr = msg->_InternalParse(ptr, &ctx);
137 return ptr && ctx.EndedAtLimit();
140 template <
bool aliasing>
144 aliasing, &ptr,
input);
145 ptr = msg->_InternalParse(ptr, &ctx);
147 return ptr && ctx.EndedAtEndOfStream();
150 template <
bool aliasing>
155 ptr = msg->_InternalParse(ptr, &ctx);
156 if (PROTOBUF_PREDICT_FALSE(!ptr))
return false;
158 return ctx.EndedAtLimit();
161 #else // !GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
166 return message->MergePartialFromCodedStream(cis) &&
170 template <
bool aliasing>
177 template <
bool aliasing>
182 decoder.BytesUntilLimit() == 0;
185 template <
bool aliasing>
191 #endif // !GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
214 #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
218 bool Next(
const void**
data,
int*
size)
final {
219 if (!cis_->GetDirectBufferPointer(
data,
size))
return false;
223 void BackUp(
int count)
final { cis_->Advance(-
count); }
227 bool aliasing_enabled() {
return cis_->aliasing_enabled_; }
230 io::CodedInputStream* cis_;
234 ZeroCopyCodedInputStream zcis(
input);
236 internal::ParseContext ctx(
input->RecursionBudget(), zcis.aliasing_enabled(),
241 ctx.TrackCorrectEnding();
242 ctx.data().pool =
input->GetExtensionPool();
243 ctx.data().factory =
input->GetExtensionFactory();
245 if (PROTOBUF_PREDICT_FALSE(!ptr))
return false;
247 if (!ctx.EndedAtEndOfStream()) {
249 if (ctx.IsExceedingLimit(ptr))
return false;
250 input->SetLastTag(ctx.LastTag());
253 input->SetConsumed();
256 #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
273 return ParseFrom<kParse>(
input);
278 return ParseFrom<kParsePartial>(
input);
322 return ParseFrom<kParse>(
data);
326 return ParseFrom<kParsePartial>(
data);
330 return ParseFrom<kParse>(as_string_view(
data,
size));
334 return ParseFrom<kParsePartial>(as_string_view(
data,
size));
338 return ParseFrom<kMerge>(
data);
376 if (
size > INT_MAX) {
378 <<
" exceeded maximum protobuf size of 2GB: " <<
size;
382 if (!
output->IsSerializationDeterministic()) {
392 int original_byte_count =
output->ByteCount();
397 int final_byte_count =
output->ByteCount();
399 if (final_byte_count - original_byte_count !=
size) {
401 final_byte_count - original_byte_count, *
this);
448 size_t old_size =
output->size();
450 if (byte_size > INT_MAX) {
452 <<
" exceeded maximum protobuf size of 2GB: " << byte_size;
483 if (byte_size > INT_MAX) {
485 <<
" exceeded maximum protobuf size of 2GB: " << byte_size;
488 if (
size < byte_size)
return false;
551 return prototype->
New(arena);
#define GOOGLE_CHECK_EQ(A, B)
virtual std::string GetTypeName() const =0
bool ParsePartialFromZeroCopyStream(io::ZeroCopyInputStream *input)
bool MergePartialFromBoundedZeroCopyStream(io::ZeroCopyInputStream *input, int size)
virtual int GetCachedSize() const =0
string StrCat(const AlphaNum &a, const AlphaNum &b)
bool ParseFromFileDescriptor(int file_descriptor)
bool ParseFromCodedStream(io::CodedInputStream *input)
char * mutable_string_data(std::string *s)
static bool IsDefaultSerializationDeterministic()
bool SerializeToArray(void *data, int size) const
bool AppendPartialToString(std::string *output) const
bool ParsePartialFromCodedStream(io::CodedInputStream *input)
bool SerializePartialToZeroCopyStream(io::ZeroCopyOutputStream *output) const
bool ParsePartialFromIstream(std::istream *input)
GLsizei const GLchar *const * string
void SetSerializationDeterministic(bool value)
static char encoder[85+1]
void LogInitializationErrorMessage() const
virtual const void * InternalGetTable() const
bool MergeFromBoundedZeroCopyStream(io::ZeroCopyInputStream *input, int size)
bool ParsePartialFromString(const std::string &data)
bool SerializeToZeroCopyStream(io::ZeroCopyOutputStream *output) const
virtual void SerializeWithCachedSizes(io::CodedOutputStream *output) const
virtual bool MergePartialFromCodedStream(io::CodedInputStream *input)=0
uint8 * TableSerializeToArray(const MessageLite &msg, const SerializationTable *table, bool is_deterministic, uint8 *buffer)
bool ParsePartialFromFileDescriptor(int file_descriptor)
bool ParseFromBoundedZeroCopyStream(io::ZeroCopyInputStream *input, int size)
template bool MergePartialFromImpl< true >(StringPiece input, MessageLite *msg)
virtual std::string InitializationErrorString() const
bool MergeFromCodedStream(io::CodedInputStream *input)
bool SerializePartialToFileDescriptor(int file_descriptor) const
bool SerializeToCodedStream(io::CodedOutputStream *output) const
bool ParseFromZeroCopyStream(io::ZeroCopyInputStream *input)
#define GOOGLE_LOG(LEVEL)
bool SerializeToString(std::string *output) const
bool ParseFromArray(const void *data, int size)
bool AppendToString(std::string *output) const
bool MergePartialFromImpl(StringPiece input, MessageLite *msg)
bool SerializePartialToCodedStream(io::CodedOutputStream *output) const
static const LogLevel ERROR
bool SerializePartialToOstream(std::ostream *output) const
#define GOOGLE_CHECK(EXPRESSION)
static uint8_t decoder[96]
bool SerializePartialToArray(void *data, int size) const
virtual uint8 * SerializeWithCachedSizesToArray(uint8 *target) const
bool SerializeToOstream(std::ostream *output) const
bool InlineMergePartialEntireStream(io::CodedInputStream *cis, MessageLite *message, bool aliasing)
bool ParsePartialFromBoundedZeroCopyStream(io::ZeroCopyInputStream *input, int size)
virtual size_t ByteSizeLong() const =0
virtual bool IsInitialized() const =0
bool SerializeToFileDescriptor(int file_descriptor) const
bool SerializePartialToString(std::string *output) const
std::string SerializeAsString() const
def Skip(lines, pos, regex)
std::string SerializePartialAsString() const
virtual uint8 * InternalSerializeWithCachedSizesToArray(uint8 *target) const
bool ParseFromString(const std::string &data)
void TableSerialize(const MessageLite &msg, const SerializationTable *table, io::CodedOutputStream *output)
template bool MergePartialFromImpl< false >(StringPiece input, MessageLite *msg)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
bool ParseFromIstream(std::istream *input)
bool MergeFromString(const std::string &data)
bool IsInitializedWithErrors() const
std::string DebugString() const
const upb_json_parsermethod const upb_symtab upb_sink * output
virtual void CheckTypeAndMergeFrom(const MessageLite &other)=0
void STLStringResizeUninitialized(string *s, size_t new_size)
GLenum GLuint GLenum GLsizei const GLchar * message
bool ParsePartialFromArray(const void *data, int size)
def Merge(text, message, allow_unknown_extension=False, allow_field_number=False, descriptor_pool=None, allow_unknown_field=False)
virtual MessageLite * New() const =0
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:56