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

#include <binary_data_archive.hpp>

Classes

struct  use_array_optimization
 

Public Types

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

Public Member Functions

 binary_data_iarchive (std::streambuf &bsb)
 
 binary_data_iarchive (std::istream &is)
 
void delete_created_pointers ()
 
unsigned int get_library_version ()
 
int getArchiveSize ()
 
template<class T >
binary_data_iarchiveload_a_type (T &t, boost::mpl::true_)
 
template<class T >
binary_data_iarchiveload_a_type (T &t, boost::mpl::false_)
 
template<class ValueType >
void load_array (boost::serialization::array< ValueType > &a, unsigned int)
 
void load_binary (void *address, std::size_t count)
 
void load_object (void *t, const boost::archive::detail::basic_iserializer &bis)
 
template<class T >
void load_override (T &t, BOOST_PFTO int)
 
template<class T >
void load_override (const boost::serialization::nvp< T > &t, int)
 
template<class T >
void load_override (const boost::serialization::array< T > &t, int)
 
template<class T >
binary_data_iarchiveoperator& (T &t)
 
template<class T >
binary_data_iarchiveoperator>> (T &t)
 
template<class T >
const boost::archive::detail::basic_pointer_iserializer * register_type (T *=NULL)
 
void reset_object_address (const void *new_address, const void *old_address)
 

Private Attributes

int data_read
 
std::streambuf & m_sb
 

Detailed Description

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

See also
binary_data_oarchive

Definition at line 114 of file binary_data_archive.hpp.

Member Typedef Documentation

Definition at line 120 of file binary_data_archive.hpp.

Definition at line 119 of file binary_data_archive.hpp.

typedef boost::mpl::bool_<true> RTT::mqueue::binary_data_iarchive::is_loading

Loading Archive Concept::is_loading

Definition at line 125 of file binary_data_archive.hpp.

typedef boost::mpl::bool_<false> RTT::mqueue::binary_data_iarchive::is_saving

Loading Archive Concept::is_saving

Definition at line 129 of file binary_data_archive.hpp.

Constructor & Destructor Documentation

RTT::mqueue::binary_data_iarchive::binary_data_iarchive ( std::streambuf &  bsb)
inline

Constructor from a standard output stream.

Parameters
osThe stream to serialize from.

Definition at line 135 of file binary_data_archive.hpp.

RTT::mqueue::binary_data_iarchive::binary_data_iarchive ( std::istream &  is)
inline

Constructor from a standard stream buffer.

Parameters
osThe buffer to serialize from.

Definition at line 144 of file binary_data_archive.hpp.

Member Function Documentation

void RTT::mqueue::binary_data_iarchive::delete_created_pointers ( )
inline

Loading Archive Concept::delete_created_pointers()

Definition at line 165 of file binary_data_archive.hpp.

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

Loading Archive Concept::get_library_version()

Returns
This library's version.

Definition at line 153 of file binary_data_archive.hpp.

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

Helper method to say how much we read.

Definition at line 362 of file binary_data_archive.hpp.

template<class T >
binary_data_iarchive& RTT::mqueue::binary_data_iarchive::load_a_type ( T &  t,
boost::mpl::true_   
)
inline

Specialisation for writing out primitive types.

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

Definition at line 309 of file binary_data_archive.hpp.

template<class T >
binary_data_iarchive& RTT::mqueue::binary_data_iarchive::load_a_type ( T &  t,
boost::mpl::false_   
)
inline

Specialisation for writing out composite types (objects).

Parameters
ta serializable class or struct.
Returns
*this

Definition at line 320 of file binary_data_archive.hpp.

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

The optimized save_array dispatches to save_binary

Definition at line 351 of file binary_data_archive.hpp.

void RTT::mqueue::binary_data_iarchive::load_binary ( void *  address,
std::size_t  count 
)
inline

Loading Archive Concept::load_binary(u, count)

Parameters
addressThe place in memory where data must be written.
countThe number of bytes to load.

Definition at line 261 of file binary_data_archive.hpp.

void RTT::mqueue::binary_data_iarchive::load_object ( void *  t,
const boost::archive::detail::basic_iserializer &  bis 
)
inline

Note: not in LoadArchive concept but required when we use archive::load ! This function is only used when we call archive::load( *this, t);

Parameters
x
bos

Definition at line 182 of file binary_data_archive.hpp.

template<class T >
void RTT::mqueue::binary_data_iarchive::load_override ( T &  t,
BOOST_PFTO  int 
)
inline

The standard type loading function. It forwards any type T to the correct internal load_a_type function.

Definition at line 194 of file binary_data_archive.hpp.

template<class T >
void RTT::mqueue::binary_data_iarchive::load_override ( const boost::serialization::nvp< T > &  t,
int   
)
inline

These load_override functions are required to handle the nvt<T> cases in the serialization code. GCC won't compile that code without these overloads. Others may be required as well and may need to be added later on.

Definition at line 212 of file binary_data_archive.hpp.

template<class T >
void RTT::mqueue::binary_data_iarchive::load_override ( const boost::serialization::array< T > &  t,
int   
)
inline

Specialisation that covers a boost serialization array created with make_array()

Parameters
t
Returns
*this

Definition at line 228 of file binary_data_archive.hpp.

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

Loading Archive Concept::operator&

Parameters
tThe type to load.
Returns
*this

Definition at line 252 of file binary_data_archive.hpp.

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

Loading Archive Concept::operator>>

Parameters
tThe type to load.
Returns
*this

Definition at line 241 of file binary_data_archive.hpp.

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

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

Parameters
Thedata type to register in this archive.
Returns

Definition at line 174 of file binary_data_archive.hpp.

void RTT::mqueue::binary_data_iarchive::reset_object_address ( const void *  new_address,
const void *  old_address 
)
inline

Loading Archive Concept::reset_object_address(v,u)

Parameters
new_address
old_address

Definition at line 160 of file binary_data_archive.hpp.

Member Data Documentation

int RTT::mqueue::binary_data_iarchive::data_read
private

Definition at line 117 of file binary_data_archive.hpp.

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

Definition at line 116 of file binary_data_archive.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:47