QtProtobuf Namespace

The QtProtobuf namespace contains type aliases and classes needed to support Qt Protobuf. 更多...

头: #include <QtProtobuf>
CMake: find_package(Qt6 REQUIRED COMPONENTS Protobuf)
target_link_libraries(mytarget PRIVATE Qt6::Protobuf)
Since: Qt 6.5

(从 6.6 起) class Any

类型

枚举类 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

函数

void qRegisterProtobufEnumType ()
void qRegisterProtobufMapType ()
void qRegisterProtobufType ()
void qRegisterProtobufTypes ()
void registerProtobufQtCoreTypes ()
void registerProtobufQtGuiTypes ()

详细描述

class Any

A helper class to simplify working with the protobuf Any type. 更多...

类型文档编制

enum class QtProtobuf:: WireTypes

The WireTypes enumeration reflects protobuf default wiretypes.

The following table shows the values in the enumeration and their corresponding types:

常量 描述
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

另请参阅 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.

另请参阅 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.

另请参阅 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 .

函数文档编制

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 必须为 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.

注意: 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.

void QtProtobuf:: registerProtobufQtCoreTypes ()

Registers serializers for the Qt::ProtobufQtCoreTypes library.

void QtProtobuf:: registerProtobufQtGuiTypes ()

Registers serializers for the Qt::ProtobufQtGuiTypes library.