Orocos Real-Time Toolkit  2.9.0
Classes | Public Types | Public Member Functions | List of all members
RTT::mqueue::binary_data_oarchive Class Reference

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

#include <rtt/transports/mqueue/binary_data_archive.hpp>

Classes

struct  use_array_optimization
 We provide an optimized load for all fundamental types typedef serialization::is_bitwise_serializable<mpl::_1> use_array_optimization;. More...
 

Public Types

typedef char Elem
 
typedef boost::mpl::bool_< false > is_loading
 Saving Archive Concept::is_loading. More...
 
typedef boost::mpl::bool_< true > is_saving
 Saving Archive Concept::is_saving. More...
 

Public Member Functions

 binary_data_oarchive (std::ostream &os, bool do_save=true)
 Constructor from a standard output stream. More...
 
 binary_data_oarchive (std::streambuf &sb, bool do_save=true)
 Constructor from a standard stream buffer. More...
 
unsigned int get_library_version ()
 Saving Archive Concept::get_library_version() More...
 
template<class T >
const boost::archive::detail::basic_pointer_iserializer * register_type (T *=NULL)
 Saving Archive Concept::register_type<T>() and ::register_type(u) More...
 
void save_object (const void *x, const boost::archive::detail::basic_oserializer &bos)
 Note: not in LoadArchive concept but required when we use archive::save ! More...
 
template<class T >
binary_data_oarchiveoperator<< (T const &t)
 Saving Archive Concept::operator<<. More...
 
template<class T >
binary_data_oarchiveoperator& (T const &t)
 Saving Archive Concept::operator&. More...
 
void save_binary (const void *address, std::size_t count)
 Saving Archive Concept::save_binary(u, count) More...
 
template<class T >
binary_data_oarchivesave_a_type (T const &t, boost::mpl::true_)
 Specialisation for writing out primitive types. More...
 
template<class T >
binary_data_oarchivesave_a_type (T const &t, boost::mpl::false_)
 Specialisation for writing out composite types (objects). More...
 
template<class ValueType >
void save_array (boost::serialization::array< ValueType > const &a, unsigned int)
 The optimized save_array dispatches to save_binary. More...
 
int getArchiveSize ()
 Helper method to say how much we wrote. More...
 

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 362 of file binary_data_archive.hpp.

Member Typedef Documentation

Definition at line 368 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 372 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 376 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 386 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 399 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 408 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 548 of file binary_data_archive.hpp.

Referenced by RTT::mqueue::MQSerializationProtocol< T >::fillBlob(), and RTT::mqueue::MQSerializationProtocol< T >::getSampleSize().

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 448 of file binary_data_archive.hpp.

References RTT::operator<<().

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 438 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 417 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 484 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 506 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 537 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 457 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 424 of file binary_data_archive.hpp.


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