QtProtobuf Namespace
The QtProtobuf namespace contains type aliases and classes needed to support Qt Protobuf. More...
Header: | #include <QtProtobuf> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Protobuf) target_link_libraries(mytarget PRIVATE Qt6::Protobuf) |
Since: | Qt 6.5 |
Types
enum class | WireTypes { Unknown, Varint, Fixed64, LengthDelimited, StartGroup, …, Fixed32 } |
boolList | |
doubleList | |
fixed32 | |
fixed64 | |
fixed32List | |
fixed64List | |
floatList | |
int32 | |
int64 | |
int32List | |
int64List | |
sfixed32 | |
sfixed64 | |
sfixed32List | |
sfixed64List | |
sint32 | |
sint64 | |
sint32List | |
sint64List | |
uint32 | |
uint64 | |
uint32List | |
uint64List |
Functions
void | qRegisterProtobufEnumType() |
void | qRegisterProtobufMapType() |
void | qRegisterProtobufType() |
void | qRegisterProtobufTypes() |
Detailed Description
Type Documentation
enum class QtProtobuf::WireTypes
The WireTypes enumeration reflects protobuf default wiretypes.
The following table shows the values in the enumeration and their corresponding types:
Constant | Value | Description |
---|---|---|
QtProtobuf::WireTypes::Unknown | -1 | Invalid wire type |
QtProtobuf::WireTypes::Varint | 0 | int32, int64, uint32, uint64, sint32, sint64, bool, enum |
QtProtobuf::WireTypes::Fixed64 | 1 | fixed64, sfixed64, double |
QtProtobuf::WireTypes::LengthDelimited | 2 | string, bytes, embedded messages, packed repeated fields |
QtProtobuf::WireTypes::StartGroup | 3 | groups. Deprecated in proto syntax 3. Not supported by Qt Protobuf. |
QtProtobuf::WireTypes::EndGroup | 4 | groups. Deprecated in proto syntax 3. Not supported by Qt Protobuf. |
QtProtobuf::WireTypes::Fixed32 | 5 | fixed32, sfixed32, float |
See also encoding.
[alias]
QtProtobuf::boolList
Alias for a list of bool.
[alias]
QtProtobuf::doubleList
Alias for a list of double.
[alias]
QtProtobuf::fixed32
fixed32 is an unsigned 32-bit integer that is represented in protobuf as a fixed size 32-bit field, an alias for WireTypes::Fixed32.
[alias]
QtProtobuf::fixed64
fixed64 is an unsigned 64-bit integer that is represented in protobuf as a fixed size 64-bit field, an alias for WireTypes::Fixed64.
[alias]
QtProtobuf::fixed32List
Alias for a list of QtProtobuf::fixed32.
[alias]
QtProtobuf::fixed64List
Alias for a list of QtProtobuf::fixed64.
[alias]
QtProtobuf::floatList
Alias for a list of float.
[alias]
QtProtobuf::int32
int32 is a regular signed 32-bit integer that is represented in protobuf as a variable size integer, an alias for WireTypes::Varint.
[alias]
QtProtobuf::int64
int64 is a regular signed 64-bit integer that is represented in protobuf as a variable size integer, an alias for WireTypes::Varint.
[alias]
QtProtobuf::int32List
Alias for a list of QtProtobuf::int32.
[alias]
QtProtobuf::int64List
Alias for a list of QtProtobuf::int64.
[alias]
QtProtobuf::sfixed32
sfixed32 is a signed 32-bit integer that is represented in protobuf as a fixed size 32-bit field, an alias for WireTypes::Fixed32.
[alias]
QtProtobuf::sfixed64
sfixed64 is a signed 64-bit integer that is represented in protobuf as a fixed size 64-bit field, an alias for WireTypes::Fixed64.
[alias]
QtProtobuf::sfixed32List
Alias for a list of QtProtobuf::sfixed32.
[alias]
QtProtobuf::sfixed64List
Alias for a list of QtProtobuf::sfixed64.
[alias]
QtProtobuf::sint32
sint32 is a 32-bit integer with forced sign marker that is represented in protobuf as variable size integer, an alias for WireTypes::Varint. sint32 is serialized using ZigZag conversion to reduce size of negative numbers.
See also signed-integers.
[alias]
QtProtobuf::sint64
sint64 is a 64-bit integer with forced sign marker that is represented in protobuf as variable size integer, an alias for WireTypes::Varint. sint64 is serialized using ZigZag conversion to reduce size of negative numbers.
See also signed-integers.
[alias]
QtProtobuf::sint32List
Alias for a list of QtProtobuf::sint32.
[alias]
QtProtobuf::sint64List
Alias for a list of QtProtobuf::sint64.
[alias]
QtProtobuf::uint32
uint32 is an unsigned 32-bit integer that is represented in protobuf as variable size integer, an alias for WireTypes::Varint.
[alias]
QtProtobuf::uint64
uint64 is an unsigned 64-bit integer that is represented in protobuf as variable size integer, an alias for WireTypes::Varint.
[alias]
QtProtobuf::uint32List
Alias for a list of QtProtobuf::uint32.
[alias]
QtProtobuf::uint64List
Alias for a list of QtProtobuf::uint64.
Function Documentation
template <typename T, std::enable_if_t<std::is_enum<T>::value, bool> = true> void qRegisterProtobufEnumType()
Registers serializers for enumeration type T
in QtProtobuf global serializers registry.
This function is normally called by generated code.
template <typename K, typename V, QtProtobuf::if_protobuf_map<K, V> = true> void qRegisterProtobufMapType()
Registers a Protobuf map type K
and V
. V
must be a QProtobufMessage. This function is normally called by generated code.
template <typename T, QtProtobuf::if_protobuf_message<T> = true> void qRegisterProtobufType()
Registers a Protobuf type T. This function is normally called by generated code.
void qRegisterProtobufTypes()
Calling this function registers all, currently known, protobuf types with the serializer registry.
Note: Only since Qt 6.6.3 version you don't have to call this function manually, as it is called automatically. For earlier versions it's better to call it before serialization/deserialization attempt.