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

#include <OutputArchive.h>

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

Public Types

using BaseArchive = ExtendableJSONOutputArchive< JSONOutputArchive, TStream, TSize, TOffset >
 
- Public Types inherited from terse::ExtendableJSONOutputArchive< JSONOutputArchive< TStream, std::uint32_t, std::uint32_t >, TStream, std::uint32_t, std::uint32_t >
using SizeType = std::uint32_t
 
using OffsetType = std::uint32_t
 

Public Member Functions

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

Public Attributes

friend Archive< JSONOutputArchive >
 

Private Member Functions

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

Additional Inherited Members

- Protected Member Functions inherited from terse::ExtendableJSONOutputArchive< JSONOutputArchive< TStream, std::uint32_t, std::uint32_t >, TStream, std::uint32_t, std::uint32_t >
void process (Transparent< T > &&source)
 
void process (Anchor< OffsetType > &)
 
void process (ArchiveOffset< OffsetType > &source)
 
void process (typename ArchiveOffset< OffsetType >::Proxy &)
 
void process (typename ArchiveOffset< OffsetType >::Proxy &&)
 
void process (ArchiveSize< SizeType, OffsetType > &source)
 
void process (typename ArchiveSize< SizeType, OffsetType >::Proxy &)
 
void process (typename ArchiveSize< SizeType, OffsetType >::Proxy &&)
 
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 (char source)
 
void process (std::uint8_t source)
 
void process (std::int8_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 processElements (const TContainer &source)
 
- Protected Member Functions inherited from terse::Archive< JSONOutputArchive< TStream, std::uint32_t, std::uint32_t > >
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>
using terse::JSONOutputArchive< TStream, TSize, TOffset >::BaseArchive = ExtendableJSONOutputArchive<JSONOutputArchive, TStream, TSize, TOffset>

Constructor & Destructor Documentation

◆ JSONOutputArchive()

template<class TStream , typename TSize = std::uint32_t, typename TOffset = TSize>
terse::JSONOutputArchive< TStream, TSize, TOffset >::JSONOutputArchive ( TStream *  stream_,
std::uint32_t  indentWidth_ 
)
inline
299 : BaseArchive{this, stream_, indentWidth_} {
300 }
ExtendableJSONOutputArchive< JSONOutputArchive, TStream, TSize, TOffset > BaseArchive
Definition: json/OutputArchive.h:295

Member Function Documentation

◆ process()

template<class TStream , typename TSize = std::uint32_t, typename TOffset = TSize>
template<typename T >
void terse::JSONOutputArchive< TStream, TSize, TOffset >::process ( T &&  dest)
inlineprivate
304 {
305 BaseArchive::process(std::forward<T>(dest));
306 }
void process(Transparent< T > &&source)
Definition: json/OutputArchive.h:76

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

Member Data Documentation

◆ Archive< JSONOutputArchive >

template<class TStream , typename TSize = std::uint32_t, typename TOffset = TSize>
friend terse::JSONOutputArchive< TStream, TSize, TOffset >::Archive< JSONOutputArchive >

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