di 0.1.0
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

template<typename T = void>
using Result = meta::ReaderResult<T, Reader>
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

template<Impl< io::Reader > Reader>
class di::BinaryDeserializer< Reader >

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

◆ Result

template<Impl< io::Reader > Reader>
template<typename T = void>
using di::serialization::BinaryDeserializer< Reader >::Result = meta::ReaderResult<T, Reader>

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::Container T>
requires (!concepts::InstanceOf<T, container::string::StringImpl>)
auto di::serialization::BinaryDeserializer< Reader >::deserialize ( InPlaceType< T > ) ->Result< T >
inlineconstexpr

◆ deserialize() [3/6]

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

◆ deserialize() [4/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() [5/6]

template<Impl< io::Reader > Reader>
template<concepts::IntegralOrEnum T>
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 &->Readerconst &
inlineconstexpr

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