Iros
 
Loading...
Searching...
No Matches
di::BinaryDeserializer< Reader > Class Template Reference

A deserializer for a simple binary format. More...

#include <di/serialization/binary_deserializer.h>

Public Types

using DeserializationFormat = BinaryFormat
 

Public Member Functions

template<concepts::NotDecaysTo< BinaryDeserializer > T>
requires (ConstructibleFrom<Reader, T>)
constexpr BinaryDeserializer (T &&reader)
 
template<concepts::IntegralOrEnum T>
constexpr auto deserialize (InPlaceType< T >) -> Result< T >
 
template<concepts::TupleLike T>
requires (concepts::DefaultConstructible<T>)
constexpr auto deserialize (InPlaceType< T >) -> Result< T >
 
template<concepts::VariantLike T>
constexpr auto deserialize (InPlaceType< T >) -> Result< T >
 
template<concepts::DefaultConstructible T, concepts::InstanceOf< reflection::Fields > M>
constexpr auto deserialize (InPlaceType< T >, M fields) -> Result< T >
 
template<concepts::InstanceOf< container::string::StringImpl > Str>
constexpr auto deserialize (InPlaceType< Str >) -> Result< Str >
 
template<concepts::Container T>
requires (!concepts::InstanceOf<T, container::string::StringImpl>)
constexpr auto deserialize (InPlaceType< T >) -> Result< T >
 
constexpr auto reader () &-> Reader &
 
constexpr auto reader () const &-> Reader const &
 
constexpr auto reader () &&-> Reader &&
 

Detailed Description

A deserializer for a simple binary format.

Template Parameters
ReaderThe type of the reader to read from.

This deserializer is for the simple binary format used by the binary serializer. It can deserialize any type that the binary serializer can serialize, which includes containers, string, tuples, variants, integers, and enumerators.

See also
BinarySerializer

Member Typedef Documentation

◆ DeserializationFormat

template<Impl< io::Reader > Reader>
using di::serialization::BinaryDeserializer< Reader >::DeserializationFormat = BinaryFormat

Constructor & Destructor Documentation

◆ BinaryDeserializer()

template<Impl< io::Reader > Reader>
template<concepts::NotDecaysTo< BinaryDeserializer > T>
requires (ConstructibleFrom<Reader, T>)
di::serialization::BinaryDeserializer< Reader >::BinaryDeserializer ( T && reader)
inlineexplicitconstexpr

Member Function Documentation

◆ deserialize() [1/6]

template<Impl< io::Reader > Reader>
template<concepts::InstanceOf< container::string::StringImpl > Str>
auto di::serialization::BinaryDeserializer< Reader >::deserialize ( InPlaceType< Str > ) -> Result<Str>
inlineconstexpr

◆ deserialize() [2/6]

template<Impl< io::Reader > Reader>
template<concepts::IntegralOrEnum T>
auto di::serialization::BinaryDeserializer< Reader >::deserialize ( InPlaceType< T > ) -> Result<T>
inlineconstexpr

◆ deserialize() [3/6]

template<Impl< io::Reader > Reader>
template<concepts::TupleLike T>
requires (concepts::DefaultConstructible<T>)
auto di::serialization::BinaryDeserializer< Reader >::deserialize ( InPlaceType< T > ) -> Result<T>
inlineconstexpr

◆ deserialize() [4/6]

template<Impl< io::Reader > Reader>
template<concepts::VariantLike T>
auto di::serialization::BinaryDeserializer< Reader >::deserialize ( InPlaceType< T > ) -> Result<T>
inlineconstexpr

◆ deserialize() [5/6]

template<Impl< io::Reader > Reader>
template<concepts::Container T>
requires (!concepts::InstanceOf<T, container::string::StringImpl>)
auto di::serialization::BinaryDeserializer< Reader >::deserialize ( InPlaceType< T > ) -> Result<T>
inlineconstexpr

◆ deserialize() [6/6]

template<Impl< io::Reader > Reader>
template<concepts::DefaultConstructible T, concepts::InstanceOf< reflection::Fields > M>
auto di::serialization::BinaryDeserializer< Reader >::deserialize ( InPlaceType< T > ,
M fields ) -> Result<T>
inlineconstexpr

◆ reader() [1/3]

template<Impl< io::Reader > Reader>
auto di::serialization::BinaryDeserializer< Reader >::reader ( ) && -> Reader&&
inlineconstexpr

◆ reader() [2/3]

template<Impl< io::Reader > Reader>
auto di::serialization::BinaryDeserializer< Reader >::reader ( ) & -> Reader&
inlineconstexpr

◆ reader() [3/3]

template<Impl< io::Reader > Reader>
auto di::serialization::BinaryDeserializer< Reader >::reader ( ) const & -> Reader const&
inlineconstexpr

The documentation for this class was generated from the following files: