protozero 1.8.2
Minimalistic protocol buffer decoder and encoder in C++.
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
protozero::basic_pbf_builder< TBuffer, T > Class Template Reference

#include <basic_pbf_builder.hpp>

Inheritance diagram for protozero::basic_pbf_builder< TBuffer, T >:
Inheritance graph
[legend]
Collaboration diagram for protozero::basic_pbf_builder< TBuffer, T >:
Collaboration graph
[legend]

Public Types

using enum_type = T
 The type of messages this class will build.
 

Public Member Functions

 basic_pbf_builder (TBuffer &data) noexcept
 
template<typename P >
 basic_pbf_builder (basic_pbf_writer< TBuffer > &parent_writer, P tag)
 
void add_bytes (T tag, const char *value, std::size_t size)
 
void add_bytes (T tag, const data_view &value)
 
void add_bytes (T tag, const std::string &value)
 
void add_bytes (T tag, const char *value)
 
template<typename... Ts>
void add_bytes_vectored (T tag, Ts &&... values)
 
void add_string (T tag, const char *value, std::size_t size)
 
void add_string (T tag, const data_view &value)
 
void add_string (T tag, const std::string &value)
 
void add_string (T tag, const char *value)
 
void add_message (T tag, const char *value, std::size_t size)
 
void add_message (T tag, const data_view &value)
 
void add_message (T tag, const std::string &value)
 
- Public Member Functions inherited from protozero::basic_pbf_writer< TBuffer >
 basic_pbf_writer (TBuffer &buffer) noexcept
 
 basic_pbf_writer () noexcept=default
 
 basic_pbf_writer (basic_pbf_writer &parent_writer, pbf_tag_type tag, std::size_t size=0)
 
 basic_pbf_writer (const basic_pbf_writer &)=delete
 A basic_pbf_writer object can not be copied.
 
basic_pbf_writeroperator= (const basic_pbf_writer &)=delete
 A basic_pbf_writer object can not be copied.
 
 basic_pbf_writer (basic_pbf_writer &&other) noexcept
 
basic_pbf_writeroperator= (basic_pbf_writer &&other) noexcept
 
bool valid () const noexcept
 
void swap (basic_pbf_writer &other) noexcept
 
void reserve (std::size_t size)
 
void commit ()
 
void rollback ()
 
void add_bool (pbf_tag_type tag, bool value)
 
void add_enum (pbf_tag_type tag, int32_t value)
 
void add_int32 (pbf_tag_type tag, int32_t value)
 
void add_sint32 (pbf_tag_type tag, int32_t value)
 
void add_uint32 (pbf_tag_type tag, uint32_t value)
 
void add_int64 (pbf_tag_type tag, int64_t value)
 
void add_sint64 (pbf_tag_type tag, int64_t value)
 
void add_uint64 (pbf_tag_type tag, uint64_t value)
 
void add_fixed32 (pbf_tag_type tag, uint32_t value)
 
void add_sfixed32 (pbf_tag_type tag, int32_t value)
 
void add_fixed64 (pbf_tag_type tag, uint64_t value)
 
void add_sfixed64 (pbf_tag_type tag, int64_t value)
 
void add_float (pbf_tag_type tag, float value)
 
void add_double (pbf_tag_type tag, double value)
 
void add_bytes (pbf_tag_type tag, const char *value, std::size_t size)
 
void add_bytes (pbf_tag_type tag, const data_view &value)
 
void add_bytes (pbf_tag_type tag, const std::string &value)
 
void add_bytes (pbf_tag_type tag, const char *value)
 
template<typename... Ts>
void add_bytes_vectored (pbf_tag_type tag, Ts &&... values)
 
void add_string (pbf_tag_type tag, const char *value, std::size_t size)
 
void add_string (pbf_tag_type tag, const data_view &value)
 
void add_string (pbf_tag_type tag, const std::string &value)
 
void add_string (pbf_tag_type tag, const char *value)
 
void add_message (pbf_tag_type tag, const char *value, std::size_t size)
 
void