DNA Calib 1.1
Project brief
Public Types | Public Member Functions | Public Attributes | Private Member Functions | List of all members
terse::BinaryOutputArchive< TStream, TSize, TOffset, EByteOrder > Class Template Reference

#include <OutputArchive.h>

Inheritance diagram for terse::BinaryOutputArchive< TStream, TSize, TOffset, EByteOrder >:
Inheritance graph
Collaboration diagram for terse::BinaryOutputArchive< TStream, TSize, TOffset, EByteOrder >:
Collaboration graph

Public Types

using BaseArchive = ExtendableBinaryOutputArchive< BinaryOutputArchive, TStream, TSize, TOffset, EByteOrder >
 
- Public Types inherited from terse::ExtendableBinaryOutputArchive< BinaryOutputArchive< TStream, std::uint32_t, std::uint32_t, Endianness::Network >, TStream, std::uint32_t, std::uint32_t, Endianness::Network >
using SizeType = std::uint32_t
 
using OffsetType = std::uint32_t
 

Public Member Functions

 BinaryOutputArchive (TStream *stream_)
 
- Public Member Functions inherited from terse::ExtendableBinaryOutputArchive< BinaryOutputArchive< TStream, std::uint32_t, std::uint32_t, Endianness::Network >, TStream, std::uint32_t, std::uint32_t, Endianness::Network >
 ExtendableBinaryOutputArchive (BinaryOutputArchive< TStream, std::uint32_t, std::uint32_t, Endianness::Network > *extender, TStream *stream_)
 
bool isOk ()
 
void sync ()
 
void label (const char *)
 
- Public Member Functions inherited from terse::Archive< BinaryOutputArchive< TStream, std::uint32_t, std::uint32_t, Endianness::Network > >
 Archive (BinaryOutputArchive< TStream, std::uint32_t, std::uint32_t, Endianness::Network > *impl_)
 
bool isOk ()
 
void sync ()
 
void label (const char *value)
 
void operator() (Args &&... args)
 
BinaryOutputArchive< TStream, std::uint32_t, std::uint32_t, Endianness::Network > & operator<< (TSerializable &source)
 
BinaryOutputArchive< TStream, std::uint32_t, std::uint32_t, Endianness::Network > & operator>> (TSerializable &dest)
 
void * getUserData () const
 
void setUserData (void *data)
 

Public Attributes

friend Archive< BinaryOutputArchive >
 

Private Member Functions

template<typename T >
void process (T &&dest)
 

Additional Inherited Members

- Static Public Member Functions inherited from terse::ExtendableBinaryOutputArchive< BinaryOutputArchive< TStream, std::uint32_t, std::uint32_t, Endianness::Network >, TStream, std::uint32_t, std::uint32_t, Endianness::Network >
static constexpr Endianness endianness ()
 
- Protected Member Functions inherited from terse::ExtendableBinaryOutputArchive< BinaryOutputArchive< TStream, std::uint32_t, std::uint32_t, Endianness::Network >, TStream, std::uint32_t, std::uint32_t, Endianness::Network >
void process (Transparent< T > &&source)
 
void process (Anchor< OffsetType > &source)
 
void process (ArchiveOffset< OffsetType > &source)
 
void process (typename ArchiveOffset< OffsetType >::Proxy &source)
 
void process (typename ArchiveOffset< OffsetType >::Proxy &&source)
 
void process (ArchiveSize< SizeType, OffsetType > &source)
 
void process (typename ArchiveSize< SizeType, OffsetType >::Proxy &source)
 
void process (typename ArchiveSize< SizeType, OffsetType >::Proxy &&source)
 
void process (const Blob< T, Args... > &source)
 
std::enable_if< traits::has_save_member< T >::value, void >::type process (const T &source)
 
std::enable_if< traits::has_serialize_member< T >::value, void >::type process (const T &source)
 
std::enable_if< traits::has_save_function< T >::value, void >::type process (const T &source)
 
std::enable_if< traits::has_serialize_function< T >::value, void >::type process (const T &source)
 
std::enable_if<!traits::has_save_member< T >::value &&!traits::has_serialize_member< T >::value &&!traits::has_save_function< T >::value &&!traits::has_serialize_function< T >::value, void >::type process (const T &source)
 
void process (const std::array< T, N > &source)
 
void process (const std::vector< T, Args... > &source)
 
void process (const DynArray< T, Args... > &source)
 
void process (const std::basic_string< T, Args... > &source)
 
void process (const std::pair< K, V > &source)
 
void process (const std::tuple< K, V > &source)
 
void processSize (std::size_t size)
 
std::enable_if<!traits::is_batchable< TContainer >::value >::type processElements (const TContainer &source)
 
std::enable_if< traits::is_batchable< TContainer >::value &&traits::has_wide_elements< TContainer >::value >::type processElements (const TContainer &source)
 
std::enable_if< traits::is_batchable< TContainer >::value &&!traits::has_wide_elements< TContainer >::value >::type processElements (const TContainer &source)
 
- Protected Member Functions inherited from terse::Archive< BinaryOutputArchive< TStream, std::uint32_t, std::uint32_t, Endianness::Network > >
void dispatch (Head &&head)
 
void dispatch (Head &&head, Tail &&... tail)
 

Member Typedef Documentation

◆ BaseArchive

template<class TStream , typename TSize = std::uint32_t, typename TOffset = TSize, Endianness EByteOrder = Endianness::Network>
using terse::BinaryOutputArchive< TStream, TSize, TOffset, EByteOrder >::BaseArchive = ExtendableBinaryOutputArchive<BinaryOutputArchive, TStream, TSize, TOffset, EByteOrder>

Constructor & Destructor Documentation

◆ BinaryOutputArchive()

template<class TStream , typename TSize = std::uint32_t, typename TOffset = TSize, Endianness EByteOrder = Endianness::Network>
terse::BinaryOutputArchive< TStream, TSize, TOffset, EByteOrder >::BinaryOutputArchive ( TStream *  stream_)
inlineexplicit
272 : BaseArchive{this, stream_} {
273 }
ExtendableBinaryOutputArchive< BinaryOutputArchive, TStream, TSize, TOffset, EByteOrder > BaseArchive
Definition: binary/OutputArchive.h:268

Member Function Documentation

◆ process()

template<class TStream , typename TSize = std::uint32_t, typename TOffset = TSize, Endianness EByteOrder = Endianness::Network>
template<typename T >
void terse::BinaryOutputArchive< TStream, TSize, TOffset, EByteOrder >::process ( T &&  dest)
inlineprivate
277 {
278 BaseArchive::process(std::forward<T>(dest));
279 }
void process(Transparent< T > &&source)
Definition: binary/OutputArchive.h:67

References terse::ExtendableBinaryOutputArchive< TExtender, TStream, TSize, TOffset, EByteOrder >::process().

Member Data Documentation

◆ Archive< BinaryOutputArchive >

template<class TStream , typename TSize = std::uint32_t, typename TOffset = TSize, Endianness EByteOrder = Endianness::Network>
friend terse::BinaryOutputArchive< TStream, TSize, TOffset, EByteOrder >::Archive< BinaryOutputArchive >

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