Classes | Public Types | Public Member Functions | Private Attributes | List of all members
RTT::mqueue::binary_data_oarchive Class Reference

#include <binary_data_archive.hpp>

Classes

struct  use_array_optimization
 

Public Types

typedef char Elem
 
typedef boost::mpl::bool_< false > is_loading
 
typedef boost::mpl::bool_< true > is_saving
 

Public Member Functions

 binary_data_oarchive (std::ostream &os, bool do_save=true)
 
 binary_data_oarchive (std::streambuf &sb, bool do_save=true)
 
unsigned int get_library_version ()
 
int getArchiveSize ()
 
template<class T >
binary_data_oarchiveoperator& (T const &t)
 
template<class T >
binary_data_oarchiveoperator<< (T const &t)
 
template<class T >
const boost::archive::detail::basic_pointer_iserializer * register_type (T *=NULL)
 
template<class T >
binary_data_oarchivesave_a_type (T const &t, boost::mpl::true_)
 
template<class T >
binary_data_oarchivesave_a_type (T const &t, boost::mpl::false_)
 
template<class ValueType >
void save_array (boost::serialization::array< ValueType > const &a, unsigned int)
 
void save_binary (const void *address, std::size_t count)
 
void save_object (const void *x, const boost::archive::detail::basic_oserializer &bos)
 

Private Attributes

int data_written
 
std::streambuf & m_sb
 
bool mdo_save
 

Detailed Description

This archive is capable of saving objects of serialization level 1 and 2 in a binary, non-portable format.

See also
binary_data_iarchive

Definition at line 370 of file binary_data_archive.hpp.

Member Typedef Documentation

Definition at line 376 of file binary_data_archive.hpp.

typedef boost::mpl::bool_<false> RTT::mqueue::binary_data_oarchive::is_loading

Saving Archive Concept::is_loading

Definition at line 380 of file binary_data_archive.hpp.

typedef boost::mpl::bool_<true> RTT::mqueue::binary_data_oarchive::is_saving

Saving Archive Concept::is_saving

Definition at line 384 of file binary_data_archive.hpp.

Constructor & Destructor Documentation

RTT::mqueue::binary_data_oarchive::binary_data_oarchive ( std::ostream &  os,
bool  do_save = true 
)
inline

Constructor from a standard output stream.

Parameters
osThe stream to serialize to
do_saveSet to false to not actually write nor use the given ostream. After a save operation, only the counter for getArchiveSize() will have increased. Use this to know in advance how much space you will need.

Definition at line 394 of file binary_data_archive.hpp.

RTT::mqueue::binary_data_oarchive::binary_data_oarchive ( std::streambuf &  sb,
bool  do_save = true 
)
inline

Constructor from a standard stream buffer.

Parameters
osThe buffer to serialize to.
do_saveSet to false to not actually write nor use the given ostream. After a save operation, only the counter for getArchiveSize() will have increased. Use this to know in advance how much space you will need.

Definition at line 407 of file binary_data_archive.hpp.

Member Function Documentation

unsigned int RTT::mqueue::binary_data_oarchive::get_library_version ( )
inline

Saving Archive Concept::get_library_version()

Returns
This library's version.

Definition at line 416 of file binary_data_archive.hpp.

int RTT::mqueue::binary_data_oarchive::getArchiveSize ( )
inline

Helper method to say how much we wrote.

Definition at line 556 of file binary_data_archive.hpp.

template<class T >
binary_data_oarchive& RTT::mqueue::binary_data_oarchive::operator& ( T const &  t)
inline

Saving Archive Concept::operator&

Parameters
tThe type to save.
Returns
*this

Definition at line 456 of file binary_data_archive.hpp.

template<class T >
binary_data_oarchive& RTT::mqueue::binary_data_oarchive::operator<< ( T const &  t)
inline

Saving Archive Concept::operator<<

Parameters
tThe type to save.
Returns
*this

Definition at line 446 of file binary_data_archive.hpp.

template<class T >
const boost::archive::detail::basic_pointer_iserializer* RTT::mqueue::binary_data_oarchive::register_type ( T *  = NULL)
inline

Saving Archive Concept::register_type<T>() and ::register_type(u)

Parameters
Thedata type to register in this archive.
Returns

Definition at line 425 of file binary_data_archive.hpp.

template<class T >
binary_data_oarchive& RTT::mqueue::binary_data_oarchive::save_a_type ( T const &  t,
boost::mpl::true_   
)
inline

Specialisation for writing out primitive types.

Parameters
tprimitive data (bool, int,...)
Returns
*this

Definition at line 492 of file binary_data_archive.hpp.

template<class T >
binary_data_oarchive& RTT::mqueue::binary_data_oarchive::save_a_type ( T const &  t,
boost::mpl::false_   
)
inline

Specialisation for writing out composite types (objects).

Parameters
ta serializable class or struct.
Returns
*this

Definition at line 514 of file binary_data_archive.hpp.

template<class ValueType >
void RTT::mqueue::binary_data_oarchive::save_array ( boost::serialization::array< ValueType > const &  a,
unsigned  int 
)
inline

The optimized save_array dispatches to save_binary

Definition at line 545 of file binary_data_archive.hpp.

void RTT::mqueue::binary_data_oarchive::save_binary ( const void *  address,
std::size_t  count 
)
inline

Saving Archive Concept::save_binary(u, count)

Parameters
addressThe place where data is located in memory.
countThe number of bytes to save.

Definition at line 465 of file binary_data_archive.hpp.

void RTT::mqueue::binary_data_oarchive::save_object ( const void *  x,
const boost::archive::detail::basic_oserializer &  bos 
)
inline

Note: not in LoadArchive concept but required when we use archive::save !

Parameters
x
bos

Definition at line 432 of file binary_data_archive.hpp.

Member Data Documentation

int RTT::mqueue::binary_data_oarchive::data_written
private

Definition at line 373 of file binary_data_archive.hpp.

std::streambuf& RTT::mqueue::binary_data_oarchive::m_sb
private

Definition at line 372 of file binary_data_archive.hpp.

bool RTT::mqueue::binary_data_oarchive::mdo_save
private

Definition at line 374 of file binary_data_archive.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Tue Jun 25 2019 19:33:45