|
protozero 1.8.0
Minimalistic protocol buffer decoder and encoder in C++.
|
See also this handy table from the Google Protocol Buffers documentation.
| PBF Type | Underlying Storage | C++ Type | Getter | Notes |
|---|---|---|---|---|
| int32 | varint | int32_t | get_int32() | |
| sint32 | varint (zigzag) | int32_t | get_sint32() | |
| uint32 | varint | uint32_t | get_uint32() | |
| int64 | varint | int64_t | get_int64() | |
| sint64 | varint (zigzag) | int64_t | get_sint64() | |
| uint64 | varint | uint64_t | get_uint64() | |
| bool | varint | bool | get_bool() | |
| enum | varint | int32_t | get_enum() | |
| fixed32 | 32bit fixed | uint32_t | get_fixed32() | |
| sfixed32 | 32bit fixed | int32_t | get_sfixed32() | |
| fixed64 | 64bit fixed | uint64_t | get_fixed64() | |
| sfixed64 | 64bit fixed | int64_t | get_sfixed64() | |
| float | 32bit fixed | float | get_float() | |
| double | 64bit fixed | double | get_double() | |
| string | length-delimited | data_view | get_view() | (1) |
| string | length-delimited | pair | get_data() | (2) |
| string | length-delimited | std::string | get_string() | |
| bytes | length-delimited | data_view | get_view() | (1) |
| bytes | length-delimited | pair | get_data() | (2) |
| bytes | length-delimited | std::string | get_bytes() | |
| message | length-delimited | data_view | get_view() | (1) |
| message | length-delimited | pair | get_data() | (2) |
| message | length-delimited | pbf_reader | get_message() |
protozero::data_view which is convertible to std::string if needed.std::pair<const char*, pbf_length_type>, use get_view() instead. This form is only available if PROTOZERO_STRICT_API is not defined.pbf_writer is always add_ + the PBF type. Several overloads are available.| PBF Type | Getter |
|---|---|
| int32 | get_packed_int32() |
| sint32 | get_packed_sint32() |
| uint32 | get_packed_uint32() |
| int64 | get_packed_int64() |
| sint64 | get_packed_sint64() |
| uint64 | get_packed_uint64() |
| bool | get_packed_bool() |
| enum | get_packed_enum() |
| fixed32 | get_packed_fixed32() |
| sfixed32 | get_packed_sfixed32() |
| fixed64 | get_packed_fixed64() |
| sfixed64 | get_packed_sfixed64() |
| float | get_packed_float() |
| double | get_packed_double() |
Packed repeated fields for string, bytes, and message types are not possible.