Classes | Public Types | Public Member Functions | Private Attributes
RTT::mqueue::binary_data_iarchive Class Reference

#include <binary_data_archive.hpp>

List of all members.

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


Member Typedef Documentation

Definition at line 104 of file binary_data_archive.hpp.

Definition at line 103 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 109 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 113 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 119 of file binary_data_archive.hpp.

Constructor from a standard stream buffer.

Parameters:
osThe buffer to serialize from.

Definition at line 128 of file binary_data_archive.hpp.


Member Function Documentation

Loading Archive Concept::delete_created_pointers()

Definition at line 149 of file binary_data_archive.hpp.

Loading Archive Concept::get_library_version()

Returns:
This library's version.

Definition at line 137 of file binary_data_archive.hpp.

Helper method to say how much we read.

Definition at line 336 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 287 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 298 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 326 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 239 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 166 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 178 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 196 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 207 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 230 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 219 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 158 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 144 of file binary_data_archive.hpp.


Member Data Documentation

Definition at line 101 of file binary_data_archive.hpp.

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

Definition at line 100 of file binary_data_archive.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Sat Jun 8 2019 18:46:39