Main MRPT website > C++ reference for MRPT 1.9.9
Namespaces | Classes | Typedefs | Functions
mrpt::serialization Namespace Reference

Namespaces

 detail
 
 internal
 
 metaprogramming
 

Classes

class  CArchive
 Virtual base class for "archives": classes abstracting I/O streams. More...
 
class  CArchiveStreamBase
 CArchive for mrpt::io::CStream classes (use as template argument). More...
 
class  CArchiveStreamBase< const std::vector< uint8_t > >
 Read-only version of the wrapper. More...
 
class  CArchiveStreamBase< std::iostream >
 Specialization for std::iostream. More...
 
class  CArchiveStreamBase< std::istream >
 Specialization for std::istream. More...
 
class  CArchiveStreamBase< std::ostream >
 Specialization for std::ostream. More...
 
class  CArchiveStreamBase< std::vector< uint8_t > >
 Specialization for std::vector, suitable for read/write, using the vector<uint8_t> as the underlaying stream container. More...
 
class  CExceptionEOF
 Used in mrpt::serialization::CArchive. More...
 
class  CMemoryChunkBase
 A memory buffer (implements CStream) which can be itself serialized. More...
 
class  CMessage
 A class that contain generic messages, that can be sent and received from a "CClientTCPSocket" object. More...
 
class  CSerializable
 The virtual base class which provides a unified interface for all persistent objects in MRPT. More...
 

Typedefs

using CMemoryChunk = CMemoryChunkBase< mrpt::io::CMemoryStream >
 

Functions

CArchiveoperator>> (CArchive &s, mrpt::aligned_std_vector< float > &a)
 
CArchiveoperator<< (CArchive &s, const mrpt::aligned_std_vector< float > &a)
 
 DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE (bool)
 
 DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE (uint8_t)
 
 DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE (int8_t)
 
 DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE (uint16_t)
 
 DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE (int16_t)
 
 DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE (uint32_t)
 
 DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE (int32_t)
 
 DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE (uint64_t)
 
 DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE (int64_t)
 
 DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE (float)
 
 DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE (double)
 
 DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE (long double)
 
CArchiveoperator<< (CArchive &s, const char *a)
 
CArchiveoperator<< (CArchive &s, const std::string &str)
 
CArchiveoperator<< (CArchive &, const std::vector< int32_t > &a)
 
CArchiveoperator<< (CArchive &, const std::vector< uint32_t > &a)
 
CArchiveoperator<< (CArchive &, const std::vector< uint16_t > &a)
 
CArchiveoperator<< (CArchive &, const std::vector< int16_t > &a)
 
CArchiveoperator<< (CArchive &, const std::vector< int64_t > &a)
 
CArchiveoperator<< (CArchive &, const std::vector< uint8_t > &a)
 
CArchiveoperator<< (CArchive &, const std::vector< int8_t > &a)
 
CArchiveoperator<< (CArchive &, const std::vector< bool > &a)
 
CArchiveoperator<< (CArchive &, const std::vector< std::string > &)
 
CArchiveoperator<< (CArchive &, const std::vector< size_t > &a)
 
CArchiveoperator>> (CArchive &in, char *a)
 
CArchiveoperator>> (CArchive &in, std::string &str)
 
CArchiveoperator>> (CArchive &in, std::vector< int32_t > &a)
 
CArchiveoperator>> (CArchive &in, std::vector< uint32_t > &a)
 
CArchiveoperator>> (CArchive &in, std::vector< uint16_t > &a)
 
CArchiveoperator>> (CArchive &in, std::vector< int16_t > &a)
 
CArchiveoperator>> (CArchive &in, std::vector< int64_t > &a)
 
CArchiveoperator>> (CArchive &in, std::vector< uint8_t > &a)
 
CArchiveoperator>> (CArchive &in, std::vector< int8_t > &a)
 
CArchiveoperator>> (CArchive &in, std::vector< bool > &a)
 
CArchiveoperator>> (CArchive &in, std::vector< std::string > &a)
 
CArchiveoperator>> (CArchive &s, std::vector< float > &a)
 
CArchiveoperator>> (CArchive &s, std::vector< double > &a)
 
CArchiveoperator<< (CArchive &s, const std::vector< float > &a)
 
CArchiveoperator<< (CArchive &s, const std::vector< double > &a)
 
CArchiveoperator>> (CArchive &s, std::vector< size_t > &a)
 
template<typename T , std::enable_if_t< std::is_base_of< mrpt::serialization::CSerializable, T >::value > * = nullptr>
CArchiveoperator>> (CArchive &in, std::shared_ptr< T > &pObj)
 Read a smart pointer to a non-CSerializable (POD,...) data type. More...
 
template<typename... T>
CArchiveoperator>> (CArchive &in, typename std::variant< T... > &pObj)
 
template<typename... T>
CArchiveoperator<< (CArchive &out, const typename std::variant< T... > &pObj)
 
template<class T , std::enable_if_t<!std::is_base_of< mrpt::serialization::CSerializable, T >::value > * = nullptr>
CArchiveoperator<< (CArchive &out, const std::shared_ptr< T > &pObj)
 Write a shared_ptr to a non-CSerializable object. More...
 
template<class STREAM >
CArchiveStreamBase< STREAM > archiveFrom (STREAM &s)
 Helper function to create a templatized wrapper CArchive object for a: MRPT's CStream, std::istream, std::ostream, std::stringstream More...
 
void ObjectToOctetVector (const CSerializable *o, std::vector< uint8_t > &out_vector)
 Converts (serializes) an MRPT object into an array of bytes. More...
 
void OctetVectorToObject (const std::vector< uint8_t > &in_data, CSerializable::Ptr &obj)
 Converts back (de-serializes) a sequence of binary data into a MRPT object, without prior information about the object's class. More...
 
template<class T , size_t N>
CArchiveoperator<< (CArchive &out, const std::array< T, N > &obj)
 Template method to serialize a std::array<T,N> More...
 
template<class T , size_t N>
CArchiveoperator>> (CArchive &in, std::array< T, N > &obj)
 Template method to deserialize a std::array<T,N>
More...
 
template<class T1 , class T2 >
CArchiveoperator<< (CArchive &out, const std::pair< T1, T2 > &obj)
 Template method to serialize a STL pair. More...
 
template<class T1 , class T2 >
CArchiveoperator>> (CArchive &in, std::pair< T1, T2 > &obj)
 Template method to deserialize a STL pair. More...
 
template<typename ZMQ_SOCKET_TYPE >
void mrpt_send_to_zmq (ZMQ_SOCKET_TYPE zmq_socket, const mrpt::serialization::CSerializable &obj, const size_t max_packet_len=0)
 Send an MRPT object to a ZMQ socket. More...
 
template<typename ZMQ_SOCKET_TYPE , typename VECTOR_MSG_T >
bool mrpt_recv_from_zmq_buf (ZMQ_SOCKET_TYPE zmq_socket, VECTOR_MSG_T &out_lst_msgs, mrpt::io::CMemoryStream &target_buf, bool dont_wait, size_t *rx_obj_length_in_bytes)
 Users may normally call mrpt_recv_from_zmq() and mrpt_recv_from_zmq_into(). More...
 
template<typename ZMQ_SOCKET_TYPE >
mrpt::serialization::CSerializable::Ptr mrpt_recv_from_zmq (ZMQ_SOCKET_TYPE zmq_socket, bool dont_wait=false, size_t *rx_obj_length_in_bytes=nullptr)
 Receives an MRPT object from a ZMQ socket, determining the type of the object on-the-fly. More...
 
template<typename ZMQ_SOCKET_TYPE >
bool mrpt_recv_from_zmq_into (ZMQ_SOCKET_TYPE zmq_socket, mrpt::serialization::CSerializable &target_object, bool dont_wait=false, size_t *rx_obj_length_in_bytes=nullptr)
 Like mrpt_recv_from_zmq() but without dynamically allocating the received object, more efficient to use if the type of the received object is known in advance. More...
 

Typedef Documentation

◆ CMemoryChunk

Definition at line 25 of file CMemoryChunk.h.

Function Documentation

◆ archiveFrom()

template<class STREAM >
CArchiveStreamBase<STREAM> mrpt::serialization::archiveFrom ( STREAM &  s)

Helper function to create a templatized wrapper CArchive object for a: MRPT's CStream, std::istream, std::ostream, std::stringstream

Examples
serialization_stl/test.cpp.

Definition at line 561 of file CArchive.h.

Referenced by mrpt::hmtslam::CTopLCDetector_GridMatching::computeTopologicalObservationModel(), mrpt::hwdrivers::CServoeNeck::disableServo(), mrpt::hwdrivers::CServoeNeck::enableServo(), CGraphSlamHandler< GRAPH_T >::execute(), mrpt::hmtslam::CHMTSLAM::generateLogFiles(), mrpt::hwdrivers::CRoboticHeadInterface::Get3SoundBuffer(), mrpt::hwdrivers::CRoboticHeadInterface::GetGain(), mrpt::hwdrivers::CCameraSensor::getNextFrame(), mrpt::hwdrivers::CBoardSonars::getObservation(), mrpt::hwdrivers::CEnoseModular::getObservation(), mrpt::hwdrivers::CBoardENoses::getObservation(), mrpt::hwdrivers::CServoeNeck::getRegisterValue(), mrpt::hwdrivers::CRoboticHeadInterface::GetSoundLocation(), mrpt::obs::gnss::gnss_message_ptr::gnss_message_ptr(), mrpt::hwdrivers::CGPSInterface::implement_parser_NOVATEL_OEM6(), mrpt::maps::CRandomFieldGridMap2D::internal_clear(), mrpt::obs::CObservation3DRangeScan::load(), mrpt::maps::CGasConcentrationGridMap2D::load_Gaussian_Wind_Grid_From_File(), mrpt::nav::CPTG_DiffDrive_CollisionGridBased::loadColGridsFromFile(), mrpt::slam::CMetricMapBuilder::loadCurrentMapFromFile(), mrpt::maps::CSimpleMap::loadFromFile(), mrpt::opengl::COpenGLScene::loadFromFile(), mrpt::obs::CRawlog::loadFromRawLogFile(), mrpt::pbmap::PbMap::loadPbMap(), mrpt::hmtslam::CHMTSLAM::LSLAM_process_message_from_AA(), ObjectToOctetVector(), OctetVectorToObject(), mrpt::obs::gnss::gnss_message_ptr::operator=(), mrpt::nav::CAbstractPTGBasedReactive::performNavigationStep(), mrpt::obs::CObservation3DRangeScan::points3D_convertToExternalStorage(), mrpt::hwdrivers::CBoardSonars::programI2CAddress(), mrpt::hwdrivers::CServoeNeck::queryFirmwareVersion(), mrpt::hwdrivers::CBoardSonars::queryFirmwareVersion(), mrpt::hwdrivers::CBoardENoses::queryFirmwareVersion(), mrpt::obs::CObservation3DRangeScan::rangeImage_convertToExternalStorage(), mrpt::hwdrivers::CNationalInstrumentsDAQ::readFromDAQ(), run_test_pf_localization(), mrpt::maps::CGasConcentrationGridMap2D::save_Gaussian_Wind_Grid_To_File(), mrpt::nav::CPTG_DiffDrive_CollisionGridBased::saveColGridsToFile(), mrpt::slam::CMetricMapBuilder::saveCurrentMapToFile(), mrpt::pbmap::PbMap::savePbMap(), mrpt::maps::CSimpleMap::saveToFile(), mrpt::opengl::COpenGLScene::saveToFile(), mrpt::obs::CRawlog::saveToRawLogFile(), mrpt::hwdrivers::CBoardSonars::sendConfigCommands(), mrpt::hwdrivers::CRoboticHeadInterface::SetGain(), mrpt::hwdrivers::CServoeNeck::setRegisterValue(), mrpt::hwdrivers::CServoeNeck::setRegisterValueAndSpeed(), mrpt::nav::CAbstractPTGBasedReactive::STEP8_GenerateLogRecord(), TEST(), and GraphSlamLevMarqTester< my_graph_t >::test_graph_bin_serialization().

◆ DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE() [1/12]

mrpt::serialization::DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE ( bool  )

◆ DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE() [2/12]

mrpt::serialization::DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE ( double  )

◆ DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE() [3/12]

mrpt::serialization::DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE ( float  )

◆ DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE() [4/12]

mrpt::serialization::DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE ( int16_t  )

◆ DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE() [5/12]

mrpt::serialization::DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE ( int32_t  )

◆ DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE() [6/12]

mrpt::serialization::DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE ( int64_t  )

◆ DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE() [7/12]

mrpt::serialization::DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE ( int8_t  )

◆ DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE() [8/12]

mrpt::serialization::DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE ( long double  )

◆ DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE() [9/12]

mrpt::serialization::DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE ( uint16_t  )

◆ DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE() [10/12]

mrpt::serialization::DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE ( uint32_t  )

◆ DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE() [11/12]

mrpt::serialization::DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE ( uint64_t  )

◆ DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE() [12/12]

mrpt::serialization::DECLARE_CArchive_READ_WRITE_SIMPLE_TYPE ( uint8_t  )

◆ operator<<() [1/17]

CArchive & mrpt::serialization::operator<< ( CArchive out,
const std::vector< bool > &  a 
)

Definition at line 114 of file CArchive.cpp.

References mrpt::serialization::CArchive::WriteBuffer().

◆ operator<<() [2/17]

CArchive & mrpt::serialization::operator<< ( CArchive s,
const std::vector< int16_t > &  a 
)

◆ operator<<() [3/17]

CArchive & mrpt::serialization::operator<< ( CArchive s,
const std::vector< int32_t > &  a 
)

◆ operator<<() [4/17]

CArchive & mrpt::serialization::operator<< ( CArchive s,
const std::vector< int64_t > &  a 
)

◆ operator<<() [5/17]

CArchive & mrpt::serialization::operator<< ( CArchive s,
const std::vector< int8_t > &  a 
)

◆ operator<<() [6/17]

CArchive & mrpt::serialization::operator<< ( CArchive s,
const std::vector< size_t > &  a 
)

◆ operator<<() [7/17]

CArchive & mrpt::serialization::operator<< ( CArchive s,
const std::vector< std::string > &  vec 
)

Definition at line 550 of file CArchive.cpp.

◆ operator<<() [8/17]

CArchive & mrpt::serialization::operator<< ( CArchive s,
const std::vector< uint16_t > &  a 
)

◆ operator<<() [9/17]

CArchive & mrpt::serialization::operator<< ( CArchive s,
const std::vector< uint32_t > &  a 
)

◆ operator<<() [10/17]

CArchive & mrpt::serialization::operator<< ( CArchive s,
const std::vector< uint8_t > &  a 
)

◆ operator<<() [11/17]

template<class T , std::enable_if_t<!std::is_base_of< mrpt::serialization::CSerializable, T >::value > * = nullptr>
CArchive& mrpt::serialization::operator<< ( CArchive out,
const std::shared_ptr< T > &  pObj 
)

Write a shared_ptr to a non-CSerializable object.

Definition at line 506 of file CArchive.h.

◆ operator<<() [12/17]

template<typename... T>
CArchive& mrpt::serialization::operator<< ( CArchive out,
const typename std::variant< T... > &  pObj 
)

Definition at line 495 of file CArchive.h.

◆ operator<<() [13/17]

CArchive& mrpt::serialization::operator<< ( CArchive s,
const char *  a 
)

◆ operator<<() [14/17]

CArchive & mrpt::serialization::operator<< ( CArchive s,
const mrpt::aligned_std_vector< float > &  a 
)

◆ operator<<() [15/17]

CArchive & mrpt::serialization::operator<< ( CArchive s,
const std::string str 
)

Definition at line 131 of file CArchive.cpp.

References mrpt::serialization::CArchive::WriteBuffer().

◆ operator<<() [16/17]

CArchive & mrpt::serialization::operator<< ( CArchive s,
const std::vector< double > &  a 
)

◆ operator<<() [17/17]

CArchive & mrpt::serialization::operator<< ( CArchive s,
const std::vector< float > &  a 
)

◆ operator>>() [1/17]

CArchive & mrpt::serialization::operator>> ( CArchive in,
char *  a 
)

Definition at line 367 of file CArchive.cpp.

References ASSERT_.

◆ operator>>() [2/17]

template<typename T , std::enable_if_t< std::is_base_of< mrpt::serialization::CSerializable, T >::value > * = nullptr>
CArchive & mrpt::serialization::operator>> ( CArchive in,
typename std::shared_ptr< T > &  pObj 
)

Read a smart pointer to a non-CSerializable (POD,...) data type.

Definition at line 481 of file CArchive.h.

◆ operator>>() [3/17]

CArchive & mrpt::serialization::operator>> ( CArchive in,
std::string str 
)

Definition at line 358 of file CArchive.cpp.

◆ operator>>() [4/17]

CArchive & mrpt::serialization::operator>> ( CArchive in,
std::vector< bool > &  a 
)

Definition at line 341 of file CArchive.cpp.

◆ operator>>() [5/17]

CArchive & mrpt::serialization::operator>> ( CArchive in,
std::vector< int16_t > &  a 
)

◆ operator>>() [6/17]

CArchive & mrpt::serialization::operator>> ( CArchive in,
std::vector< int32_t > &  a 
)

◆ operator>>() [7/17]

CArchive & mrpt::serialization::operator>> ( CArchive in,
std::vector< int64_t > &  a 
)

◆ operator>>() [8/17]

CArchive & mrpt::serialization::operator>> ( CArchive in,
std::vector< int8_t > &  a 
)

◆ operator>>() [9/17]

CArchive & mrpt::serialization::operator>> ( CArchive in,
std::vector< std::string > &  a 
)

Definition at line 559 of file CArchive.cpp.

◆ operator>>() [10/17]

CArchive & mrpt::serialization::operator>> ( CArchive in,
std::vector< uint16_t > &  a 
)

◆ operator>>() [11/17]

CArchive & mrpt::serialization::operator>> ( CArchive in,
std::vector< uint32_t > &  a 
)

◆ operator>>() [12/17]

CArchive & mrpt::serialization::operator>> ( CArchive in,
std::vector< uint8_t > &  a 
)

◆ operator>>() [13/17]

template<typename... T>
CArchive& mrpt::serialization::operator>> ( CArchive in,
typename std::variant< T... > &  pObj 
)

Definition at line 488 of file CArchive.h.

References mrpt::serialization::CArchive::ReadVariant().

◆ operator>>() [14/17]

CArchive & mrpt::serialization::operator>> ( CArchive s,
mrpt::aligned_std_vector< float > &  a 
)

◆ operator>>() [15/17]

CArchive & mrpt::serialization::operator>> ( CArchive s,
std::vector< double > &  a 
)

◆ operator>>() [16/17]

CArchive & mrpt::serialization::operator>> ( CArchive s,
std::vector< float > &  a 
)

◆ operator>>() [17/17]

CArchive & mrpt::serialization::operator>> ( CArchive s,
std::vector< size_t > &  a 
)



Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST