Orocos Real-Time Toolkit
2.6.0
|
This archive is capable of loading objects of serialization level 1 and 2 from 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 binary_data_iarchive | Archive |
typedef boost::mpl::bool_< true > | is_loading |
Loading Archive Concept::is_loading. | |
typedef boost::mpl::bool_< false > | is_saving |
Loading Archive Concept::is_saving. | |
Public Member Functions | |
binary_data_iarchive (std::streambuf &bsb) | |
Constructor from a standard output stream. | |
binary_data_iarchive (std::istream &is) | |
Constructor from a standard stream buffer. | |
unsigned int | get_library_version () |
Loading Archive Concept::get_library_version() | |
void | reset_object_address (const void *new_address, const void *old_address) |
Loading Archive Concept::reset_object_address(v,u) | |
void | delete_created_pointers () |
Loading Archive Concept::delete_created_pointers() | |
template<class T > | |
const boost::archive::detail::basic_pointer_iserializer * | register_type (T *=NULL) |
Loading Archive Concept::register_type<T>() and ::register_type(u) | |
void | load_object (void *t, const boost::archive::detail::basic_iserializer &bis) |
Note: not in LoadArchive concept but required when we use archive::load ! This function is only used when we call archive::load( *this, t);. | |
template<class T > | |
void | load_override (T &t, BOOST_PFTO int) |
The standard type loading function. | |
template<class T > | |
void | load_override (const boost::serialization::nvp< T > &t, int) |
These load_override functions are required to handle the nvt<T> cases in the serialization code. | |
template<class T > | |
void | load_override (const boost::serialization::array< T > &t, int) |
Specialisation that covers a boost serialization array created with make_array() | |
template<class T > | |
binary_data_iarchive & | operator>> (T &t) |
Loading Archive Concept::operator>> | |
template<class T > | |
binary_data_iarchive & | operator& (T &t) |
Loading Archive Concept::operator&. | |
void | load_binary (void *address, std::size_t count) |
Loading Archive Concept::load_binary(u, count) | |
template<class T > | |
binary_data_iarchive & | load_a_type (T &t, boost::mpl::true_) |
Specialisation for writing out primitive types. | |
template<class T > | |
binary_data_iarchive & | load_a_type (T &t, boost::mpl::false_) |
Specialisation for writing out composite types (objects). | |
template<class ValueType > | |
void | load_array (boost::serialization::array< ValueType > &a, unsigned int) |
The optimized save_array dispatches to save_binary. | |
int | getArchiveSize () |
Helper method to say how much we read. |
This archive is capable of loading objects of serialization level 1 and 2 from a binary, non-portable format.
Definition at line 98 of file binary_data_archive.hpp.
RTT::mqueue::binary_data_iarchive::binary_data_iarchive | ( | std::streambuf & | bsb | ) | [inline] |
Constructor from a standard output stream.
os | The stream to serialize from. |
Definition at line 119 of file binary_data_archive.hpp.
RTT::mqueue::binary_data_iarchive::binary_data_iarchive | ( | std::istream & | is | ) | [inline] |
Constructor from a standard stream buffer.
os | The buffer to serialize from. |
Definition at line 128 of file binary_data_archive.hpp.
unsigned int RTT::mqueue::binary_data_iarchive::get_library_version | ( | ) | [inline] |
Loading Archive Concept::get_library_version()
Definition at line 137 of file binary_data_archive.hpp.
binary_data_iarchive& RTT::mqueue::binary_data_iarchive::load_a_type | ( | T & | t, |
boost::mpl::true_ | |||
) | [inline] |
Specialisation for writing out primitive types.
t | primitive data (bool, int,...) |
Definition at line 287 of file binary_data_archive.hpp.
References load_binary().
Referenced by load_override().
binary_data_iarchive& RTT::mqueue::binary_data_iarchive::load_a_type | ( | T & | t, |
boost::mpl::false_ | |||
) | [inline] |
Specialisation for writing out composite types (objects).
t | a serializable class or struct. |
Definition at line 298 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)
address | The place in memory where data must be written. |
count | The number of bytes to load. |
Definition at line 239 of file binary_data_archive.hpp.
Referenced by load_a_type(), and load_array().
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);.
x | |
bos |
Definition at line 166 of file binary_data_archive.hpp.
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.
References load_a_type().
Referenced by operator>>().
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.
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()
t |
Definition at line 207 of file binary_data_archive.hpp.
binary_data_iarchive& RTT::mqueue::binary_data_iarchive::operator& | ( | T & | t | ) | [inline] |
Loading Archive Concept::operator&.
t | The type to load. |
Definition at line 230 of file binary_data_archive.hpp.
References operator>>().
binary_data_iarchive& RTT::mqueue::binary_data_iarchive::operator>> | ( | T & | t | ) | [inline] |
Loading Archive Concept::operator>>
t | The type to load. |
Definition at line 219 of file binary_data_archive.hpp.
References load_override().
Referenced by operator&().
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)
The | data type to register in this archive. |
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)
new_address | |
old_address |
Definition at line 144 of file binary_data_archive.hpp.