C/C++ API Reference
Loading...
Searching...
No Matches
pw::protobuf::StreamEncoder Class Reference
Inheritance diagram for pw::protobuf::StreamEncoder:
pw::protobuf::MemoryEncoder

Classes

class  AnyMessageWriter
 

Public Types

enum class  EmptyEncoderBehavior { kWriteFieldNumber , kWriteNothing }
 

Public Member Functions

constexpr StreamEncoder (stream::Writer &writer, ByteSpan scratch_buffer)
 
StreamEncoderoperator= (const StreamEncoder &other)=delete
 
 StreamEncoder (const StreamEncoder &other)=delete
 
StreamEncoderoperator= (StreamEncoder &&other)=delete
 
void CloseEncoder ()
 
size_t ConservativeWriteLimit () const
 
StreamEncoder GetNestedEncoder (uint32_t field_number, EmptyEncoderBehavior empty_encoder_behavior=EmptyEncoderBehavior::kWriteFieldNumber)
 
template<typename WriteFunc >
Status WriteNestedMessage (uint32_t field_number, WriteFunc write_message, EmptyEncoderBehavior empty_encoder_behavior=EmptyEncoderBehavior::kWriteFieldNumber)
 
Status status () const
 
Status WriteUint32 (uint32_t field_number, uint32_t value)
 
Status WritePackedUint32 (uint32_t field_number, span< const uint32_t > values)
 
Status WriteRepeatedUint32 (uint32_t field_number, const pw::Vector< uint32_t > &values)
 
Status WriteUint64 (uint32_t field_number, uint64_t value)
 
Status WritePackedUint64 (uint32_t field_number, span< const uint64_t > values)
 
Status WriteRepeatedUint64 (uint32_t field_number, const pw::Vector< uint64_t > &values)
 
Status WriteInt32 (uint32_t field_number, int32_t value)
 
Status WritePackedInt32 (uint32_t field_number, span< const int32_t > values)
 
Status WriteRepeatedInt32 (uint32_t field_number, const pw::Vector< int32_t > &values)
 
Status WriteInt64 (uint32_t field_number, int64_t value)
 
Status WritePackedInt64 (uint32_t field_number, span< const int64_t > values)
 
Status WriteRepeatedInt64 (uint32_t field_number, const pw::Vector< int64_t > &values)
 
Status WriteSint32 (uint32_t field_number, int32_t value)
 
Status WritePackedSint32 (uint32_t field_number, span< const int32_t > values)
 
Status WriteRepeatedSint32 (uint32_t field_number, const pw::Vector< int32_t > &values)
 
Status WriteSint64 (uint32_t field_number, int64_t value)
 
Status WritePackedSint64 (uint32_t field_number, span< const int64_t > values)
 
Status WriteRepeatedSint64 (uint32_t field_number, const pw::Vector< int64_t > &values)
 
Status WriteBool (uint32_t field_number, bool value)
 
Status WritePackedBool (uint32_t field_number, span< const bool > values)
 
Status WriteRepeatedBool (uint32_t field_number, const pw::Vector< bool > &values)
 
Status WriteFixed32 (uint32_t field_number, uint32_t value)
 
Status WritePackedFixed32 (uint32_t field_number, span< const uint32_t > values)
 
Status WriteRepeatedFixed32 (uint32_t field_number, const pw::Vector< uint32_t > &values)
 
Status WriteFixed64 (uint32_t field_number, uint64_t value)
 
Status WritePackedFixed64 (uint32_t field_number, span< const uint64_t > values)
 
Status WriteRepeatedFixed64 (uint32_t field_number, const pw::Vector< uint64_t > &values)
 
Status WriteSfixed32 (uint32_t field_number, int32_t value)
 
Status WritePackedSfixed32 (uint32_t field_number, span< const int32_t > values)
 
Status WriteRepeatedSfixed32 (uint32_t field_number, const pw::Vector< int32_t > &values)
 
Status WriteSfixed64 (uint32_t field_number, int64_t value)
 
Status WritePackedSfixed64 (uint32_t field_number, span< const int64_t > values)
 
Status WriteRepeatedSfixed64 (uint32_t field_number, const pw::Vector< int64_t > &values)
 
Status WriteFloat (uint32_t field_number, float value)
 
Status WritePackedFloat (uint32_t field_number, span< const float > values)
 
Status WriteRepeatedFloat (uint32_t field_number, const pw::Vector< float > &values)
 
Status WriteDouble (uint32_t field_number, double value)
 
Status WritePackedDouble (uint32_t field_number, span< const double > values)
 
Status WriteRepeatedDouble (uint32_t field_number, const pw::Vector< double > &values)
 
Status WriteBytes (uint32_t field_number, ConstByteSpan value)
 
Status WriteBytes (uint32_t field_number, size_t num_bytes, const Function< Status(stream::Writer &)> &write_func)
 
Status WriteBytesFromStream (uint32_t field_number, stream::Reader &bytes_reader, size_t num_bytes, ByteSpan stream_pipe_buffer)
 
Status WriteString (uint32_t field_number, std::string_view value)
 
Status WriteString (uint32_t field_number, const char *value, size_t len)
 
Status WriteStringFromStream (uint32_t field_number, stream::Reader &bytes_reader, size_t num_bytes, ByteSpan stream_pipe_buffer)
 

Protected Member Functions

constexpr StreamEncoder (StreamEncoder &&other)
 
Status Write (span< const std::byte > message, span< const internal::MessageField > table)
 
StreamEncoder GetNestedEncoder (uint32_t field_number, bool write_when_empty)
 

Friends

class MemoryEncoder
 

Member Function Documentation

◆ WriteBytes()

Status pw::protobuf::StreamEncoder::WriteBytes ( uint32_t  field_number,
size_t  num_bytes,
const Function< Status(stream::Writer &)> &  write_func 
)
inline

Provides access to a stream writer to a proto bytes field through a given callback function. The function must write exactly num_bytes bytes of data to the stream.

Precondition: Encoder has no active child encoder.


The documentation for this class was generated from the following file: