ttg::detail::boost_optimized_oarchive< StreamOrStreambuf > Class Template Reference
Inheritance diagram for ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >:

Documentation

template<typename StreamOrStreambuf>
class ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >

optimized data-only serializer

skips metadata (class version, etc.) by providing optimized save_override function that will be called by boost::archive::binary_oarchive_impl::save_override

Definition at line 91 of file archive.h.

Public Types

using pbase_type = StreamOrStreambuf
 
using base_type = boost::archive::binary_oarchive_impl< boost_optimized_oarchive< StreamOrStreambuf >, std::ostream::char_type, std::ostream::traits_type >
 

Public Member Functions

 boost_optimized_oarchive ()
 
 boost_optimized_oarchive (StreamOrStreambuf sbuf)
 
template<typename Arg >
 boost_optimized_oarchive (Arg &&arg)
 
void save_object (const void *x, const boost::archive::detail::basic_oserializer &bos)
 
template<class T >
auto & operator<< (const T &t)
 
template<class T >
auto & operator& (const T &t)
 
const auto & streambuf () const
 
const auto & stream () const
 
template<class T >
void save_override (const T &t)
 
void save_override (const boost::archive::class_id_optional_type &)
 
void save_override (const boost::archive::version_type &t)
 
void save_override (const boost::serialization::item_version_type &t)
 
void save_override (const boost::archive::class_id_type &t)
 
void save_override (const boost::archive::class_id_reference_type &t)
 
template<class T >
void save (const T &t)
 
void save (const bool t)
 
template<class ValueType >
void save_array (boost::serialization::array_wrapper< ValueType > const &a, unsigned int)
 
void save_binary (const void *address, std::size_t count)
 

Static Public Attributes

static constexpr bool pbase_derived_from_stdstreambuf = std::is_base_of_v<std::streambuf, pbase_type>
 

Friends

class boost::archive::save_access
 
class boost::archive::detail::common_oarchive< StreamOrStreambuf >
 

Member Typedef Documentation

◆ base_type

template<typename StreamOrStreambuf >
using ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::base_type = boost::archive::binary_oarchive_impl<boost_optimized_oarchive<StreamOrStreambuf>, std::ostream::char_type, std::ostream::traits_type>

Definition at line 97 of file archive.h.

◆ pbase_type

template<typename StreamOrStreambuf >
using ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::pbase_type = StreamOrStreambuf

Definition at line 96 of file archive.h.

Constructor & Destructor Documentation

◆ boost_optimized_oarchive() [1/3]

template<typename StreamOrStreambuf >
ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::boost_optimized_oarchive ( )
inline

Definition at line 113 of file archive.h.

◆ boost_optimized_oarchive() [2/3]

template<typename StreamOrStreambuf >
ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::boost_optimized_oarchive ( StreamOrStreambuf  sbuf)
inline

Definition at line 116 of file archive.h.

◆ boost_optimized_oarchive() [3/3]

template<typename StreamOrStreambuf >
template<typename Arg >
ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::boost_optimized_oarchive ( Arg &&  arg)
inline

Definition at line 121 of file archive.h.

Member Function Documentation

◆ operator&()

template<typename StreamOrStreambuf >
template<class T >
auto& ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::operator& ( const T &  t)
inline

Definition at line 196 of file archive.h.

◆ operator<<()

template<typename StreamOrStreambuf >
template<class T >
auto& ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::operator<< ( const T &  t)
inline

Definition at line 189 of file archive.h.

◆ save() [1/2]

template<typename StreamOrStreambuf >
void ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::save ( const bool  t)
inline

override default implementations in base_type provided by basic_binary_oprimitive<Archive>

Definition at line 157 of file archive.h.

◆ save() [2/2]

template<typename StreamOrStreambuf >
template<class T >
void ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::save ( const T &  t)
inline

override default implementations in base_type provided by basic_binary_oprimitive<Archive>

Definition at line 150 of file archive.h.

◆ save_array()

template<typename StreamOrStreambuf >
template<class ValueType >
void ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::save_array ( boost::serialization::array_wrapper< ValueType > const &  a,
unsigned int   
)
inline

override default implementations in base_type provided by basic_binary_oprimitive<Archive>

Definition at line 166 of file archive.h.

◆ save_binary()

template<typename StreamOrStreambuf >
void ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::save_binary ( const void *  address,
std::size_t  count 
)
inline

override default implementations in base_type provided by basic_binary_oprimitive<Archive>

Definition at line 171 of file archive.h.

◆ save_object()

template<typename StreamOrStreambuf >
void ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::save_object ( const void *  x,
const boost::archive::detail::basic_oserializer &  bos 
)
inline

Definition at line 143 of file archive.h.

◆ save_override() [1/6]

template<typename StreamOrStreambuf >
void ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::save_override ( const boost::archive::class_id_optional_type &  )
inline

these provide optimized implementation that's called by base_type::save_override

Definition at line 133 of file archive.h.

◆ save_override() [2/6]

template<typename StreamOrStreambuf >
void ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::save_override ( const boost::archive::class_id_reference_type &  t)
inline

these provide optimized implementation that's called by base_type::save_override

Definition at line 139 of file archive.h.

◆ save_override() [3/6]

template<typename StreamOrStreambuf >
void ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::save_override ( const boost::archive::class_id_type &  t)
inline

these provide optimized implementation that's called by base_type::save_override

Definition at line 138 of file archive.h.

◆ save_override() [4/6]

template<typename StreamOrStreambuf >
void ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::save_override ( const boost::archive::version_type &  t)
inline

these provide optimized implementation that's called by base_type::save_override

Definition at line 135 of file archive.h.

◆ save_override() [5/6]

template<typename StreamOrStreambuf >
void ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::save_override ( const boost::serialization::item_version_type &  t)
inline

these provide optimized implementation that's called by base_type::save_override

Definition at line 136 of file archive.h.

◆ save_override() [6/6]

template<typename StreamOrStreambuf >
template<class T >
void ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::save_override ( const T &  t)
inline

these provide optimized implementation that's called by base_type::save_override

Definition at line 129 of file archive.h.

◆ stream()

template<typename StreamOrStreambuf >
const auto& ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::stream ( ) const
inline

Definition at line 208 of file archive.h.

◆ streambuf()

template<typename StreamOrStreambuf >
const auto& ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::streambuf ( ) const
inline

Definition at line 200 of file archive.h.

Friends And Related Function Documentation

◆ boost::archive::detail::common_oarchive< StreamOrStreambuf >

template<typename StreamOrStreambuf >
friend class boost::archive::detail::common_oarchive< StreamOrStreambuf >
friend

Definition at line 103 of file archive.h.

◆ boost::archive::save_access

template<typename StreamOrStreambuf >
friend class boost::archive::save_access
friend

Definition at line 103 of file archive.h.

Member Data Documentation

◆ pbase_derived_from_stdstreambuf

template<typename StreamOrStreambuf >
constexpr bool ttg::detail::boost_optimized_oarchive< StreamOrStreambuf >::pbase_derived_from_stdstreambuf = std::is_base_of_v<std::streambuf, pbase_type>
staticconstexpr

Definition at line 100 of file archive.h.


The documentation for this class was generated from the following file:
  • ttg/ttg/serialization/backends/boost/archive.h