#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 | |
Non-streaming serialization 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 205 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 217 of file CSerializable.h.
Referenced by mrpt::utils::TCamera::k3(), mrpt::obs::CObservationImage::setSensorPose(), and mrpt::obs::CObservationStereoImages::setSensorPose().
#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 147 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 137 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 165 of file CSerializable.h.
Referenced by mrpt::poses::CPoint2D::resize(), mrpt::poses::CPoint3D::resize(), mrpt::poses::CPose2D::resize(), mrpt::poses::CPose3DRotVec::resize(), and mrpt::poses::CPose3D::resize().
#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 182 of file CSerializable.h.
Referenced by mrpt::poses::CPointPDFSOG::empty(), mrpt::poses::CPose3DPDFSOG::end(), mrpt::poses::CPosePDFSOG::erase(), mrpt::poses::CPointPDF::getAs3DObject(), mrpt::poses::CPose3DQuatPDF::getAs3DObject(), mrpt::poses::CPosePDF::getAs3DObject(), mrpt::poses::CPose3DPDF::getAs3DObject(), mrpt::poses::CPoint2DPDFGaussian::getCovarianceAndMean(), mrpt::utils::CStringList::getText(), mrpt::poses::CPoint2DPDF::is_PDF(), mrpt::utils::TCamera::k3(), mrpt::poses::CPose3DQuatPDFGaussian::operator-(), mrpt::poses::CPose3DQuatPDFGaussianInf::operator-(), mrpt::poses::CPose3DPDFGaussianInf::operator-(), mrpt::poses::CPose3DPDFGaussian::operator-(), mrpt::poses::CPosePDFGaussianInf::operator-=(), mrpt::poses::CPosePDFGaussian::operator-=(), mrpt::math::CMatrixB::operator=(), mrpt::math::CPolygon::PointIntoPolygon(), mrpt::math::CSplineInterpolator1D::queryVector(), mrpt::utils::TStereoCamera::scaleToResolution(), mrpt::poses::CPose3DPDFParticles::size(), mrpt::poses::CPointPDFParticles::size(), mrpt::poses::CPosePDFParticles::size(), and mrpt::utils::CMHPropertiesValuesList::size().
#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 174 of file CSerializable.h.
Referenced by mrpt::opengl::CRenderizable::clone(), mrpt::opengl::CSetOfTexturedTriangles::CSetOfTexturedTriangles(), mrpt::detectors::CDetectable2D::distanceTo(), mrpt::opengl::CSetOfObjects::empty(), mrpt::obs::CObservationRange::end(), mrpt::obs::CRawlog::erase(), mrpt::obs::CActionCollection::getActionByClass(), mrpt::hmtslam::CHMHMapNode::getArcs(), mrpt::maps::CMetricMap::getAsSimplePointsMap(), mrpt::opengl::CText::getFont(), mrpt::obs::CObservationRFID::getNtags(), mrpt::opengl::CTexturedPlane::getPlaneCorners(), mrpt::hmtslam::THypothesisIDSet::has(), mrpt::opengl::COpenGLScene::internal_visitAllObjects(), mrpt::opengl::CPointCloudColoured::PLY_export_get_face_count(), mrpt::opengl::CCylinder::reachesHeight(), mrpt::opengl::CRenderizableDisplayList::setColor_u8(), mrpt::kinematics::CKinematicChain::setConfiguration(), mrpt::detectors::CDetectableObject::setObservation(), mrpt::obs::CObservationReflectivity::setSensorPose(), mrpt::obs::CObservationComment::setSensorPose(), mrpt::obs::CObservationVisualLandmarks::setSensorPose(), mrpt::obs::CObservationOdometry::setSensorPose(), mrpt::obs::CObservationRawDAQ::setSensorPose(), mrpt::obs::CObservationImage::setSensorPose(), mrpt::obs::CObservationCANBusJ1939::setSensorPose(), mrpt::obs::CObservationSkeleton::setSensorPose(), mrpt::obs::CObservationBearingRange::setSensorPose(), mrpt::obs::CObservationRGBD360::setSensorPose(), mrpt::obs::CObservationStereoImagesFeatures::setSensorPose(), mrpt::obs::CObservationIMU::setSensorPose(), mrpt::obs::CObservationStereoImages::setSensorPose(), mrpt::obs::CObservation2DRangeScan::setSensorPose(), mrpt::obs::CObservationVelodyneScan::setSensorPose(), mrpt::opengl::CText3D::setTextKerning(), mrpt::opengl::CAngularObservationMesh::trace1DSetOfRays(), mrpt::obs::CObservation::unload(), mrpt::opengl::CArrow::~CArrow(), mrpt::opengl::CAxis::~CAxis(), mrpt::opengl::CBox::~CBox(), mrpt::opengl::CCamera::~CCamera(), mrpt::opengl::CDisk::~CDisk(), mrpt::opengl::CEllipsoid::~CEllipsoid(), mrpt::opengl::CEllipsoidInverseDepth2D::~CEllipsoidInverseDepth2D(), mrpt::opengl::CEllipsoidInverseDepth3D::~CEllipsoidInverseDepth3D(), mrpt::opengl::CEllipsoidRangeBearing2D::~CEllipsoidRangeBearing2D(), mrpt::vision::CFeature::~CFeature(), mrpt::opengl::CFrustum::~CFrustum(), mrpt::opengl::CGeneralizedCylinder::~CGeneralizedCylinder(), mrpt::opengl::CGridPlaneXY::~CGridPlaneXY(), mrpt::opengl::CGridPlaneXZ::~CGridPlaneXZ(), mrpt::opengl::CMesh::~CMesh(), mrpt::opengl::CMesh3D::~CMesh3D(), mrpt::opengl::CMeshFast::~CMeshFast(), mrpt::opengl::COctoMapVoxels::~COctoMapVoxels(), mrpt::opengl::COpenGLStandardObject::~COpenGLStandardObject(), mrpt::opengl::CPlanarLaserScan::~CPlanarLaserScan(), mrpt::opengl::CSetOfLines::~CSetOfLines(), mrpt::opengl::CSetOfTriangles::~CSetOfTriangles(), mrpt::opengl::CSimpleLine::~CSimpleLine(), mrpt::opengl::CSphere::~CSphere(), mrpt::opengl::CVectorField2D::~CVectorField2D(), and mrpt::opengl::CVectorField3D::~CVectorField3D().
#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 156 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 161 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 178 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 170 of file CSerializable.h.
Referenced by mrpt::detectors::CDetectable2D::distanceTo(), and mrpt::detectors::CDetectableObject::setObservation().
#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 152 of file CSerializable.h.
Referenced by mrpt::maps::TMatchingRatioParams::TMatchingRatioParams().
#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 192 of file CSerializable.h.
#define IMPLEMENTS_MEXPLUS_FROM | ( | complete_type | ) |
Definition at line 226 of file CSerializable.h.
#define IMPLEMENTS_SERIALIZABLE | ( | class_name, | |
base, | |||
NameSpace | |||
) |
This must be inserted in all CSerializable classes implementation files.
Definition at line 186 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 198 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.11 for MRPT 1.4.0 SVN:Unversioned directory at Mon Jul 4 10:31:07 UTC 2016 |