#include <type_discovery.hpp>
Public Types | |
| typedef char | Elem |
| typedef boost::mpl::bool_< true > | is_loading |
| typedef boost::mpl::bool_< false > | is_saving |
| typedef std::vector< std::string > | PartNames |
| typedef std::vector< base::DataSourceBase::shared_ptr > | Parts |
Public Member Functions | |
| void | delete_created_pointers () |
| template<class T > | |
| void | discover (T &t) |
| template<class T > | |
| base::DataSourceBase::shared_ptr | discoverMember (T &t, const std::string name) |
| unsigned int | get_library_version () |
| base::DataSourceBase::shared_ptr | getMember (const std::string name) |
| template<class T > | |
| type_discovery & | load_a_type (T &t, boost::mpl::true_) |
| template<class T > | |
| type_discovery & | load_a_type (T &t, boost::mpl::false_) |
| template<class T > | |
| type_discovery & | load_a_type (const boost::serialization::array< T > &t, boost::mpl::false_) |
| template<class T , std::size_t N> | |
| type_discovery & | load_a_type (boost::array< T, N > &t, boost::mpl::false_) |
| template<class T > | |
| type_discovery & | load_a_type (const T *&, boost::mpl::false_) |
| template<class T > | |
| type_discovery & | load_a_type (const boost::serialization::nvp< T > &t, boost::mpl::false_) |
| void | load_object (void *x, const boost::archive::detail::basic_oserializer &bos) |
| template<class T > | |
| type_discovery & | operator& (T &t) |
| template<class T > | |
| type_discovery & | operator>> (T &t) |
| template<class T > | |
| bool | referenceMember (internal::Reference *ref, T &t, const std::string name) |
| 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) |
| type_discovery (base::DataSourceBase::shared_ptr parent) | |
| type_discovery () | |
Public Attributes | |
| std::string | membername |
| PartNames | mnames |
| base::DataSourceBase::shared_ptr | mparent |
| Parts | mparts |
| internal::Reference * | mref |
This archive is capable of decomposing objects of serialization level 1 and 2 into part data sources.
Definition at line 101 of file type_discovery.hpp.
| typedef char RTT::types::type_discovery::Elem |
Definition at line 132 of file type_discovery.hpp.
| typedef boost::mpl::bool_<true> RTT::types::type_discovery::is_loading |
Saving Archive Concept::is_loading
Definition at line 136 of file type_discovery.hpp.
| typedef boost::mpl::bool_<false> RTT::types::type_discovery::is_saving |
Saving Archive Concept::is_saving
Definition at line 140 of file type_discovery.hpp.
| typedef std::vector<std::string> RTT::types::type_discovery::PartNames |
Definition at line 110 of file type_discovery.hpp.
| typedef std::vector<base::DataSourceBase::shared_ptr> RTT::types::type_discovery::Parts |
Definition at line 109 of file type_discovery.hpp.
|
inline |
Constructor which inspects part names and creates part data sources.
Definition at line 146 of file type_discovery.hpp.
|
inline |
Constructor which only introspects the part names. No parts will be created.
Definition at line 155 of file type_discovery.hpp.
|
inline |
Loading Archive Concept::delete_created_pointers()
Definition at line 227 of file type_discovery.hpp.
|
inline |
This function discovers all parts of a serializable struct and creates a DataSource object for each member of that struct. Use getMember() afterwards to retrieve the DataSource of each member.
Definition at line 174 of file type_discovery.hpp.
|
inline |
This function discovers a single part of a serializable struct and returns an assignable datasource to that member of that struct, or a null ptr if no such member exists or if the member is not assignable.
Definition at line 188 of file type_discovery.hpp.
|
inline |
Loading Archive Concept::get_library_version()
Definition at line 215 of file type_discovery.hpp.
|
inline |
Definition at line 160 of file type_discovery.hpp.
|
inline |
Specialisation for writing out primitive types.
| t | primitive data (bool, int,...) |
Definition at line 276 of file type_discovery.hpp.
|
inline |
Specialisation for writing out composite types (objects).
| t | a serializable class or struct. |
Definition at line 291 of file type_discovery.hpp.
|
inline |
Specialisation that converts a boost serialization array into a RTT types carray.
| t |
Definition at line 306 of file type_discovery.hpp.
|
inline |
Specialisation that converts a boost::array into a RTT types carray.
| t |
Definition at line 319 of file type_discovery.hpp.
|
inline |
|
inline |
special treatment for name-value pairs. Since all types pass here, we take some decisions early
Definition at line 342 of file type_discovery.hpp.
|
inline |
Note: not in LoadArchive concept but required when we use archive::load !
| x | |
| bos |
Definition at line 243 of file type_discovery.hpp.
|
inline |
Saving Archive Concept::operator&
| t | The type to load. |
Definition at line 265 of file type_discovery.hpp.
|
inline |
Saving Archive Concept::operator<<
| t | The type to load. |
Definition at line 254 of file type_discovery.hpp.
|
inline |
This function discovers a single part of a serializable struct and sets a reference to that member of that struct.
Definition at line 201 of file type_discovery.hpp.
|
inline |
Loading Archive Concept::register_type<T>() and ::register_type(u)
| The | data type to register in this archive. |
Definition at line 236 of file type_discovery.hpp.
|
inline |
Loading Archive Concept::reset_object_address(v,u)
| new_address | |
| old_address |
Definition at line 222 of file type_discovery.hpp.
| std::string RTT::types::type_discovery::membername |
If non-empty, only discover the member with this name.
Definition at line 124 of file type_discovery.hpp.
| PartNames RTT::types::type_discovery::mnames |
The names of the parts of the parent struct
Definition at line 119 of file type_discovery.hpp.
| base::DataSourceBase::shared_ptr RTT::types::type_discovery::mparent |
The parent struct we're deserializing
Definition at line 107 of file type_discovery.hpp.
| Parts RTT::types::type_discovery::mparts |
The parts of the parent struct
Definition at line 114 of file type_discovery.hpp.
| internal::Reference* RTT::types::type_discovery::mref |
If non-empty, use this reference to the member with name membername.
Definition at line 130 of file type_discovery.hpp.