152[[maybe_unused]] [[nodiscard]]
static constexpr bool is_supported(
Type type)
noexcept;
181template <
Type TypeT, typename T>
182[[nodiscard]] static constexpr
SchemaType get_schema_type() noexcept;
193[[nodiscard]] static constexpr
SchemaType get_schema_type() noexcept;
208template <
Type TypeT, typename T>
234template <
Type TypeT, typename T>
264template <
Type TypeT, typename T>
292template <
Type TypeT, typename T>
322template <typename SrcT, typename DesT>
323static
bool convert(const SrcT& src, DesT& des);
338[[nodiscard]] static constexpr auto&
deref(const T& t) noexcept;
373[[nodiscard]] static constexpr
bool is_cdr_type() noexcept;
515#include "./internal/serializer-inl.h"
Versatile byte buffer with small-buffer optimisation, ownership semantics and compression.
Versatile 128-byte byte buffer with SBO, five ownership modes and compression helpers.
定义 bytes.h:113
Compile-time type detection and codec dispatch for VLink messages.
constexpr bool is_proto_ptr_type() noexcept
Returns true if T is a raw pointer to a Protobuf message.
定义 serializer-inl.h:664
constexpr bool is_dynamic_type() noexcept
Returns true if T is a VLink dynamic data type.
定义 serializer-inl.h:642
constexpr bool is_chars_type() noexcept
Returns true if T is constructible from std::string (but is not std::string).
定义 serializer-inl.h:698
constexpr Type get_type_of() noexcept
Deduces the Type enumerator for T at compile time.
定义 serializer-inl.h:160
Type
Identifies the serialisation codec to use for a given C++ type.
定义 serializer.h:123
@ kStandardPtrType
Pointer to trivial standard-layout struct (POD pointer).
定义 serializer.h:138
@ kCustomType
User-defined via operator>>(Bytes&) / operator<<(const Bytes&).
定义 serializer.h:127
@ kDynamicType
Dynamic typed data via is_vlink_dynamic_data().
定义 serializer.h:126
@ kFlatTableType
FlatBuffers NativeTable (object API).
定义 serializer.h:131
@ kCharsType
char* / string literal.
定义 serializer.h:135
@ kUnknownType
Unsupported type – is_supported() returns false.
定义 serializer.h:124
@ kBytesType
Bytes – raw byte pass-through.
定义 serializer.h:125
@ kProtoPtrType
Protobuf raw pointer (Arena-managed).
定义 serializer.h:130
@ kStandardType
Trivial standard-layout struct (POD value).
定义 serializer.h:137
@ kStringType
std::string – UTF-8 text.
定义 serializer.h:134
@ kFlatBuilderType
FlatBuffers builder (fbb_ + Finish()).
定义 serializer.h:133
@ kStreamType
Stream-serialisable via operator<<(std::stringstream).
定义 serializer.h:136
@ kProtoType
Protobuf value (MessageLite derived).
定义 serializer.h:129
@ kCdrType
FastDDS CDR via serialize(Cdr&) / deserialize(Cdr&).
定义 serializer.h:128
@ kFlatPtrType
Pointer to flatbuffers::Table (zero-copy read).
定义 serializer.h:132
constexpr auto & deref(const T &t) noexcept
Dereferences a value, unwrapping shared_ptr if necessary.
定义 serializer-inl.h:628
constexpr bool is_supported(Type type) noexcept
Returns true when type identifies a supported serializer.
定义 serializer-inl.h:157
constexpr bool is_custom_type() noexcept
Returns true if T provides custom operator>> / operator<<.
定义 serializer-inl.h:686
bool deserialize(const Bytes &src, T &des, TransportType transport)
Deserializes src bytes into des with explicit type and transport hints.
定义 serializer-inl.h:488
size_t get_serialized_size(const T &src) noexcept
Returns the exact serialised byte size for a given src value.
定义 serializer-inl.h:295
bool convert(const SrcT &src, DesT &des)
Converts between two types where at least one is Bytes.
定义 serializer-inl.h:614
constexpr bool is_cdr_type() noexcept
Returns true if T is a FastDDS CDR-serialisable type.
定义 serializer-inl.h:648
constexpr bool is_proto_type() noexcept
Returns true if T is a Protobuf message value type.
定义 serializer-inl.h:657
std::string get_serialized_type() noexcept
Returns the serialisation type name string for T with explicit TypeT.
定义 serializer-inl.h:229
bool serialize(const T &src, Bytes &des, TransportType transport, uint8_t offset)
Serializes src into des with explicit type and transport hints.
定义 serializer-inl.h:355
constexpr bool is_flat_ptr_type() noexcept
Returns true if T is a raw pointer to a flatbuffers::Table.
定义 serializer-inl.h:681
constexpr bool is_flat_builder_type() noexcept
Returns true if T is a FlatBuffers builder type.
定义 serializer-inl.h:676
constexpr bool is_standard_ptr_type() noexcept
Returns true if T is a pointer to a trivial standard-layout type.
定义 serializer-inl.h:715
constexpr bool is_standard_type() noexcept
Returns true if T is a trivial standard-layout value type (POD).
定义 serializer-inl.h:709
constexpr bool is_flat_table_type() noexcept
Returns true if T is a FlatBuffers NativeTable type.
定义 serializer-inl.h:670
constexpr bool is_string_type() noexcept
Returns true if T is std::string.
定义 serializer-inl.h:692
constexpr bool is_bytes_type() noexcept
Returns true if T is exactly Bytes.
定义 serializer-inl.h:637
constexpr bool is_stream_type() noexcept
Returns true if T supports both operator<< and operator>> with std::stringstream.
定义 serializer-inl.h:703
SchemaType
Coarse runtime schema family used by discovery, bag metadata, and proxy routing.
定义 types.h:184
TransportType
Enumeration of all supported transport backends.
定义 types.h:107
@ kUnknown
Unknown or unsupported transport.
定义 types.h:108
Core type definitions shared across all VLink node implementations.