DNA Calib 1.1
Project brief
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
terse::Archive< ArchiveImpl > Class Template Reference

#include <Archive.h>

Inheritance diagram for terse::Archive< ArchiveImpl >:
Inheritance graph
Collaboration diagram for terse::Archive< ArchiveImpl >:
Collaboration graph

Public Member Functions

 Archive (ArchiveImpl *impl_)
 
bool isOk ()
 
void sync ()
 
void label (const char *value)
 
template<typename ... Args>
void operator() (Args &&... args)
 
template<class TSerializable >
ArchiveImpl & operator<< (TSerializable &source)
 
template<class TSerializable >
ArchiveImpl & operator>> (TSerializable &dest)
 
void * getUserData () const
 
void setUserData (void *data)
 

Protected Member Functions

template<typename Head >
void dispatch (Head &&head)
 
template<typename Head , typename ... Tail>
void dispatch (Head &&head, Tail &&... tail)
 

Private Attributes

ArchiveImpl * impl
 
void * userData
 

Constructor & Destructor Documentation

◆ Archive()

template<class ArchiveImpl >
terse::Archive< ArchiveImpl >::Archive ( ArchiveImpl *  impl_)
inlineexplicit
19 : impl{impl_}, userData{nullptr} {
20 }
void * userData
Definition: Archive.h:73
ArchiveImpl * impl
Definition: Archive.h:72

Member Function Documentation

◆ dispatch() [1/2]

template<class ArchiveImpl >
template<typename Head >
void terse::Archive< ArchiveImpl >::dispatch ( Head &&  head)
inlineprotected

◆ dispatch() [2/2]

template<class ArchiveImpl >
template<typename Head , typename ... Tail>
void terse::Archive< ArchiveImpl >::dispatch ( Head &&  head,
Tail &&...  tail 
)
inlineprotected
66 {
67 dispatch(std::forward<Head>(head));
68 dispatch(std::forward<Tail>(tail)...);
69 }
void dispatch(Head &&head)
Definition: Archive.h:61

References terse::Archive< ArchiveImpl >::dispatch().

◆ getUserData()

template<class ArchiveImpl >
void * terse::Archive< ArchiveImpl >::getUserData ( ) const
inline
51 {
52 return userData;
53 }

References terse::Archive< ArchiveImpl >::userData.

◆ isOk()

template<class ArchiveImpl >
bool terse::Archive< ArchiveImpl >::isOk ( )
inline
22 {
23 return impl->isOk();
24 }

References terse::Archive< ArchiveImpl >::impl.

◆ label()

template<class ArchiveImpl >
void terse::Archive< ArchiveImpl >::label ( const char *  value)
inline
30 {
31 impl->label(value);
32 }

References terse::Archive< ArchiveImpl >::impl.

◆ operator()()

template<class ArchiveImpl >
template<typename ... Args>
void terse::Archive< ArchiveImpl >::operator() ( Args &&...  args)
inline
35 {
36 dispatch(std::forward<Args>(args)...);
37 }

References terse::Archive< ArchiveImpl >::dispatch().

◆ operator<<()

template<class ArchiveImpl >
template<class TSerializable >
ArchiveImpl & terse::Archive< ArchiveImpl >::operator<< ( TSerializable &  source)
inline

◆ operator>>()

template<class ArchiveImpl >
template<class TSerializable >
ArchiveImpl & terse::Archive< ArchiveImpl >::operator>> ( TSerializable &  dest)
inline

◆ setUserData()

template<class ArchiveImpl >
void terse::Archive< ArchiveImpl >::setUserData ( void *  data)
inline
55 {
56 userData = data;
57 }

References terse::Archive< ArchiveImpl >::userData.

◆ sync()

template<class ArchiveImpl >
void terse::Archive< ArchiveImpl >::sync ( )
inline
26 {
27 impl->sync();
28 }

References terse::Archive< ArchiveImpl >::impl.

Member Data Documentation

◆ impl

template<class ArchiveImpl >
ArchiveImpl* terse::Archive< ArchiveImpl >::impl
private

◆ userData

template<class ArchiveImpl >
void* terse::Archive< ArchiveImpl >::userData
private

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