|
VLink
2.1.0
A high-performance communication middleware
|
#include <cstring>#include <exception>#include <limits>#include <sstream>#include <string>#include <type_traits>#include <utility>#include "../base/helpers.h"#include "../base/logger.h"#include "../base/name_detector.h"#include "../base/traits.h"#include "../serializer.h"Go to the source code of this file.
Namespaces | |
| vlink | |
| vlink::Serializer | |
Functions | |
| constexpr bool | vlink::Serializer::is_supported (Type type) noexcept |
Reports whether type identifies a usable codec. More... | |
| template<typename T > | |
| constexpr Type | vlink::Serializer::get_type_of () noexcept |
Resolves the codec Type for T at compile time. More... | |
| template<Type TypeT, typename T > | |
| std::string | vlink::Serializer::get_serialized_type () noexcept |
Returns the serialised type-name string for T with explicit codec tag. More... | |
| template<typename T > | |
| std::string | vlink::Serializer::get_serialized_type () noexcept |
Returns the serialised type-name string for T with explicit codec tag. More... | |
| template<Type TypeT, typename T > | |
| size_t | vlink::Serializer::get_serialized_size (const T &src) noexcept |
Returns a serialised-size hint for src with explicit codec tag. More... | |
| template<typename T > | |
| size_t | vlink::Serializer::get_serialized_size (const T &src) noexcept |
Returns a serialised-size hint for src with explicit codec tag. More... | |
| template<Type TypeT, typename T > | |
| bool | vlink::Serializer::serialize (const T &src, Bytes &des, [[maybe_unused]] TransportType transport, [[maybe_unused]] uint8_t offset) |
| template<typename T > | |
| bool | vlink::Serializer::serialize (const T &src, Bytes &des) |
Serialises src into des (codec and transport auto-detected). More... | |
| template<Type TypeT, typename T , typename LoanCallbackT > | |
| bool | vlink::Serializer::serialize_to_transport (const T &src, Bytes &des, TransportType transport, bool use_loan, LoanCallbackT &&loan) |
| Serialises into transport-provided storage when available. More... | |
| template<Type TypeT, typename T > | |
| bool | vlink::Serializer::deserialize (const Bytes &src, T &des, [[maybe_unused]] TransportType transport) |
| template<typename T > | |
| bool | vlink::Serializer::deserialize (const Bytes &src, T &des) |
Deserialises src into des (codec and transport auto-detected). More... | |
| template<typename SrcT , typename DesT > | |
| bool | vlink::Serializer::convert (const SrcT &src, DesT &des) |
Converts between two types where at least one side is Bytes. More... | |
| template<typename T > | |
| constexpr auto & | vlink::Serializer::deref (const T &t) noexcept |
Dereferences a value, unwrapping std::shared_ptr when present. More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_bytes_type () noexcept |
Reports whether T is exactly Bytes. More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_dynamic_type () noexcept |
Reports whether T is a VLink dynamic data type. More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_cdr_type () noexcept |
Reports whether T is a FastDDS CDR-serialisable type. More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_proto_type () noexcept |
Reports whether T is a Protobuf-like message value type. More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_proto_ptr_type () noexcept |
Reports whether T is a raw pointer to a Protobuf-like message. More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_flat_table_type () noexcept |
Reports whether T is a FlatBuffers NativeTable type. More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_flat_builder_type () noexcept |
Reports whether T is a FlatBuffers builder type. More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_flat_ptr_type () noexcept |
Reports whether T is a raw pointer to a flatbuffers::Table. More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_custom_type () noexcept |
Reports whether T provides a custom operator>>/<< codec. More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_string_type () noexcept |
Reports whether T is std::string after unwrapping shared_ptr. More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_chars_type () noexcept |
Reports whether T is a pointer or array of non-volatile char. More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_stream_type () noexcept |
Reports whether T supports bidirectional std::stringstream streaming. More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_standard_type () noexcept |
Reports whether T is a trivial standard-layout value (POD). More... | |
| template<typename T > | |
| constexpr bool | vlink::Serializer::is_standard_ptr_type () noexcept |
Reports whether T is a pointer to a trivial standard-layout type. More... | |