#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_iarchive & | load_a_type (T &t, boost::mpl::true_) |
template<class T > | |
binary_data_iarchive & | load_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_iarchive & | operator& (T &t) |
template<class T > | |
binary_data_iarchive & | operator>> (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 |
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.
Definition at line 104 of file binary_data_archive.hpp.
typedef char RTT::mqueue::binary_data_iarchive::Elem |
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.
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.
void RTT::mqueue::binary_data_iarchive::delete_created_pointers | ( | ) | [inline] |
Loading Archive Concept::delete_created_pointers()
Definition at line 149 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.
int RTT::mqueue::binary_data_iarchive::getArchiveSize | ( | ) | [inline] |
Helper method to say how much we read.
Definition at line 336 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.
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_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)
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.
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.
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.
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.
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.
int RTT::mqueue::binary_data_iarchive::data_read [private] |
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.