OpenEnroth 73e68f7
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
ContainerSerialization.h File Reference
#include <cassert>
#include <span>
#include <array>
#include "MemCopySerialization.h"
#include "BinaryTags.h"
#include "BinaryConcepts.h"

Classes

struct  detail::AppendWrapper< Container >
 
struct  is_proxy_binarizable< std::array< T, N > >
 
struct  is_proxy_binarizable< Container >
 

Namespaces

namespace  detail
 

Functions

template<StdSpan Span, class T = typename Span::value_type>
void deserialize (InputStream &src, Span *dst)
 
template<StdSpan Span, class T = typename Span::value_type>
void serialize (const Span &src, OutputStream *dst)
 
template<class T , size_t N, RegularBinarySink Dst, class... Tags>
void serialize (const std::array< T, N > &src, Dst *dst, const Tags &... tags)
 
template<RegularBinarySource Src, class T , size_t N, class... Tags>
void deserialize (Src &src, std::array< T, N > *dst, const Tags &... tags)
 
template<ResizableContiguousContainer Src, RegularBinarySink Dst, class... Tags>
void serialize (const Src &src, Dst *dst, const Tags &... tags)
 
template<RegularBinarySource Src, ResizableContiguousContainer Dst, class... Tags>
void deserialize (Src &src, Dst *dst, const Tags &... tags)
 
template<ResizableContiguousContainer Src, RegularBinarySink Dst, class... Tags>
void serialize (const Src &src, Dst *dst, UnsizedTag, const Tags &... tags)
 
template<RegularBinarySource Src, ResizableContiguousContainer Dst, class... Tags>
void deserialize (Src &src, Dst *dst, PresizedTag tag, const Tags &... tags)
 
template<RegularBinarySource Src, ResizableContiguousContainer Dst, class... Tags>
void deserialize (Src &src, Dst *dst, AppendTag, const Tags &... tags)
 

Function Documentation

◆ deserialize() [1/5]

template<StdSpan Span, class T = typename Span::value_type>
void deserialize ( InputStream src,
Span *  dst 
)

◆ deserialize() [2/5]

template<RegularBinarySource Src, ResizableContiguousContainer Dst, class... Tags>
void deserialize ( Src &  src,
Dst *  dst,
AppendTag  ,
const Tags &...  tags 
)

◆ deserialize() [3/5]

template<RegularBinarySource Src, ResizableContiguousContainer Dst, class... Tags>
void deserialize ( Src &  src,
Dst *  dst,
const Tags &...  tags 
)

◆ deserialize() [4/5]

template<RegularBinarySource Src, ResizableContiguousContainer Dst, class... Tags>
void deserialize ( Src &  src,
Dst *  dst,
PresizedTag  tag,
const Tags &...  tags 
)

◆ deserialize() [5/5]

template<RegularBinarySource Src, class T , size_t N, class... Tags>
void deserialize ( Src &  src,
std::array< T, N > *  dst,
const Tags &...  tags 
)

◆ serialize() [1/4]

template<StdSpan Span, class T = typename Span::value_type>
void serialize ( const Span &  src,
OutputStream dst 
)

◆ serialize() [2/4]

template<ResizableContiguousContainer Src, RegularBinarySink Dst, class... Tags>
void serialize ( const Src &  src,
Dst *  dst,
const Tags &...  tags 
)

◆ serialize() [3/4]

template<ResizableContiguousContainer Src, RegularBinarySink Dst, class... Tags>
void serialize ( const Src &  src,
Dst *  dst,
UnsizedTag  ,
const Tags &...  tags 
)

◆ serialize() [4/4]

template<class T , size_t N, RegularBinarySink Dst, class... Tags>
void serialize ( const std::array< T, N > &  src,
Dst *  dst,
const Tags &...  tags 
)