#include <mrpt/utils/CObject.h>
#include <mrpt/utils/TTypeName.h>
#include <mrpt/utils/types_simple.h>
Go to the source code of this file.
Classes | |
class | mrpt::utils::CSerializable |
The virtual base class which provides a unified interface for all persistent objects in MRPT. More... | |
Namespaces | |
mrpt | |
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. | |
mrpt::utils | |
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL. | |
Macros | |
#define | DEFINE_SERIALIZABLE_CUSTOM_LINKAGE(class_name, _VOID_LINKAGE_, _STATIC_LINKAGE_, _VIRTUAL_LINKAGE_) |
Like DEFINE_SERIALIZABLE, but for template classes that need the DLL imp/exp keyword in Windows. More... | |
#define | DEFINE_SERIALIZABLE(class_name) DEFINE_SERIALIZABLE_CUSTOM_LINKAGE(class_name, void /*no extra linkage keyword*/, static /*none*/,virtual /*none*/ ) |
This declaration must be inserted in all CSerializable classes definition, within the class declaration. More... | |
#define | DEFINE_SERIALIZABLE_PRE_CUSTOM_LINKAGE(class_name, _LINKAGE_) |
This declaration must be inserted in all CSerializable classes definition, before the class declaration. More... | |
#define | DEFINE_SERIALIZABLE_POST_CUSTOM_LINKAGE(class_name, _LINKAGE_) DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE2(class_name, mrpt::utils::CSerializable, _LINKAGE_ class_name) |
#define | DEFINE_SERIALIZABLE_PRE(class_name) |
This declaration must be inserted in all CSerializable classes definition, before the class declaration. More... | |
#define | DEFINE_SERIALIZABLE_POST(class_name) DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE2(class_name, mrpt::utils::CSerializable, BASE_IMPEXP class_name) |
#define | DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_) |
This declaration must be inserted in all CSerializable classes definition, before the class declaration. More... | |
#define | DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_) DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE2(class_name, base_name, _LINKAGE_ class_name) |
#define | DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE(class_name, base_name) |
This declaration must be inserted in all CSerializable classes definition, before the class declaration. More... | |
#define | DEFINE_SERIALIZABLE_POST_CUSTOM_BASE(class_name, base_name) DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, BASE_IMPEXP ) \ |
#define | IMPLEMENTS_SERIALIZABLE(class_name, base, NameSpace) |
This must be inserted in all CSerializable classes implementation files. More... | |
#define | DEFINE_VIRTUAL_SERIALIZABLE(class_name) DEFINE_VIRTUAL_MRPT_OBJECT(class_name) |
This declaration must be inserted in virtual CSerializable classes definition: More... | |
#define | IMPLEMENTS_VIRTUAL_SERIALIZABLE(class_name, base_class_name, NameSpace) |
This must be inserted as implementation of some required members for virtual CSerializable classes: More... | |
#define | DECLARE_MEX_CONVERSION |
This must be inserted if a custom conversion method for MEX API is implemented in the class. More... | |
#define | DECLARE_MEXPLUS_FROM(complete_type) |
This must be inserted if a custom conversion method for MEX API is implemented in the class. More... | |
#define | IMPLEMENTS_MEXPLUS_FROM(complete_type) |
Typedefs | |
typedef struct mxArray_tag | mxArray |
Forward declaration for mxArray (avoid #including as much as possible to speed up compiling) More... | |
Functions | |
std::string BASE_IMPEXP | mrpt::utils::ObjectToString (const CSerializable *o) |
Used to pass MRPT objects into a CORBA-like object (strings). More... | |
void BASE_IMPEXP | mrpt::utils::StringToObject (const std::string &str, CSerializablePtr &obj) |
Used to pass CORBA-like objects (strings) into a MRPT object. More... | |
void BASE_IMPEXP | mrpt::utils::ObjectToOctetVector (const CSerializable *o, vector_byte &out_vector) |
Converts (serializes) an MRPT object into an array of bytes. More... | |
void BASE_IMPEXP | mrpt::utils::OctetVectorToObject (const vector_byte &in_data, CSerializablePtr &obj) |
Converts back (de-serializes) a sequence of binary data into a MRPT object, without prior information about the object's class. More... | |
void BASE_IMPEXP | mrpt::utils::ObjectToRawString (const CSerializable *o, std::string &out_str) |
Converts (serializes) an MRPT object into an array of bytes within a std::string, without codifying to avoid NULL characters. More... | |
void BASE_IMPEXP | mrpt::utils::RawStringToObject (const std::string &in_str, CSerializablePtr &obj) |
Converts back (de-serializes) a sequence of binary data within a std::string into a MRPT object, without prior information about the object's class. More... | |
#define DECLARE_MEX_CONVERSION |
This must be inserted if a custom conversion method for MEX API is implemented in the class.
Definition at line 206 of file CSerializable.h.
#define DECLARE_MEXPLUS_FROM | ( | complete_type | ) |
This must be inserted if a custom conversion method for MEX API is implemented in the class.
Definition at line 218 of file CSerializable.h.
#define DEFINE_SERIALIZABLE | ( | class_name | ) | DEFINE_SERIALIZABLE_CUSTOM_LINKAGE(class_name, void /*no extra linkage keyword*/, static /*none*/,virtual /*none*/ ) |
This declaration must be inserted in all CSerializable classes definition, within the class declaration.
Definition at line 148 of file CSerializable.h.
#define DEFINE_SERIALIZABLE_CUSTOM_LINKAGE | ( | class_name, | |
_VOID_LINKAGE_, | |||
_STATIC_LINKAGE_, | |||
_VIRTUAL_LINKAGE_ | |||
) |
Like DEFINE_SERIALIZABLE, but for template classes that need the DLL imp/exp keyword in Windows.
Definition at line 138 of file CSerializable.h.
#define DEFINE_SERIALIZABLE_POST | ( | class_name | ) | DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE2(class_name, mrpt::utils::CSerializable, BASE_IMPEXP class_name) |
Definition at line 166 of file CSerializable.h.
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE | ( | class_name, | |
base_name | |||
) | DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, BASE_IMPEXP ) \ |
Definition at line 183 of file CSerializable.h.
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE | ( | class_name, | |
base_name, | |||
_LINKAGE_ | |||
) | DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE2(class_name, base_name, _LINKAGE_ class_name) |
Definition at line 175 of file CSerializable.h.
#define DEFINE_SERIALIZABLE_POST_CUSTOM_LINKAGE | ( | class_name, | |
_LINKAGE_ | |||
) | DEFINE_MRPT_OBJECT_POST_CUSTOM_BASE_LINKAGE2(class_name, mrpt::utils::CSerializable, _LINKAGE_ class_name) |
Definition at line 157 of file CSerializable.h.
#define DEFINE_SERIALIZABLE_PRE | ( | class_name | ) |
This declaration must be inserted in all CSerializable classes definition, before the class declaration.
Definition at line 162 of file CSerializable.h.
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE | ( | class_name, | |
base_name | |||
) |
This declaration must be inserted in all CSerializable classes definition, before the class declaration.
Definition at line 179 of file CSerializable.h.
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE | ( | class_name, | |
base_name, | |||
_LINKAGE_ | |||
) |
This declaration must be inserted in all CSerializable classes definition, before the class declaration.
Definition at line 171 of file CSerializable.h.
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_LINKAGE | ( | class_name, | |
_LINKAGE_ | |||
) |
This declaration must be inserted in all CSerializable classes definition, before the class declaration.
Definition at line 153 of file CSerializable.h.
#define DEFINE_VIRTUAL_SERIALIZABLE | ( | class_name | ) | DEFINE_VIRTUAL_MRPT_OBJECT(class_name) |
This declaration must be inserted in virtual CSerializable classes definition:
Definition at line 193 of file CSerializable.h.
#define IMPLEMENTS_MEXPLUS_FROM | ( | complete_type | ) |
Definition at line 227 of file CSerializable.h.
#define IMPLEMENTS_SERIALIZABLE | ( | class_name, | |
base, | |||
NameSpace | |||
) |
This must be inserted in all CSerializable classes implementation files.
Definition at line 187 of file CSerializable.h.
#define IMPLEMENTS_VIRTUAL_SERIALIZABLE | ( | class_name, | |
base_class_name, | |||
NameSpace | |||
) |
This must be inserted as implementation of some required members for virtual CSerializable classes:
Definition at line 199 of file CSerializable.h.
typedef struct mxArray_tag mxArray |
Forward declaration for mxArray (avoid #including as much as possible to speed up compiling)
Definition at line 17 of file CSerializable.h.
Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019 |