MRPT  1.9.9
mrpt::serialization::CMemoryChunkBase< Derived > Class Template Reference

Detailed Description

template<class Derived>
class mrpt::serialization::CMemoryChunkBase< Derived >

A memory buffer (implements CStream) which can be itself serialized.

See also
CStream

Definition at line 23 of file CMemoryChunk.h.

#include <mrpt/serialization/CMemoryChunk.h>

Inheritance diagram for mrpt::serialization::CMemoryChunkBase< Derived >:
Inheritance graph

Public Member Functions

voidoperator new (size_t size)
 
voidoperator new[] (size_t size)
 
void operator delete (void *ptr) noexcept
 
void operator delete[] (void *ptr) noexcept
 
void operator delete (void *memory, void *ptr) noexcept
 
voidoperator new (size_t size, const std::nothrow_t &) noexcept
 
void operator delete (void *ptr, const std::nothrow_t &) noexcept
 
virtual mxArraywriteToMatlab () const
 Introduces a pure virtual method responsible for writing to a mxArray Matlab object, typically a MATLAB struct whose contents are documented in each derived class. More...
 
RTTI classes and functions for polymorphic hierarchies
mrpt::rtti::CObject::Ptr duplicateGetSmartPtr () const
 Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer). More...
 

Static Public Member Functions

static voidoperator new (size_t size, void *ptr)
 

Protected Member Functions

Derived & derived ()
 
const Derived & derived () const
 
CSerializable virtual methods
uint8_t serializeGetVersion () const override
 Must return the current versioning number of the object. More...
 
void serializeTo (mrpt::serialization::CArchive &out) const override
 Pure virtual method for writing (serializing) to an abstract archive. More...
 
void serializeFrom (mrpt::serialization::CArchive &in, uint8_t serial_version) override
 Pure virtual method for reading (deserializing) from an abstract archive. More...
 

RTTI stuff

using Ptr = std::shared_ptr< CMemoryChunk >
 
using ConstPtr = std::shared_ptr< const CMemoryChunk >
 
using UniquePtr = std::unique_ptr< CMemoryChunk >
 
using ConstUniquePtr = std::unique_ptr< const CMemoryChunk >
 
static mrpt::rtti::CLASSINIT _init_CMemoryChunk
 
static const mrpt::rtti::TRuntimeClassId runtimeClassId
 
static constexpr const char * className = "CMemoryChunk"
 
static const mrpt::rtti::TRuntimeClassId_GetBaseClass ()
 
static constexpr auto getClassName ()
 
static const mrpt::rtti::TRuntimeClassIdGetRuntimeClassIdStatic ()
 
static mrpt::rtti::CObjectCreateObject ()
 
template<typename... Args>
static Ptr Create (Args &&... args)
 
template<typename... Args>
static UniquePtr CreateUnique (Args &&... args)
 
virtual const mrpt::rtti::TRuntimeClassIdGetRuntimeClass () const override
 Returns information about the class of an object in runtime. More...
 
virtual mrpt::rtti::CObjectclone () const override
 Returns a deep copy (clone) of the object, indepently of its class. More...
 

Member Typedef Documentation

◆ ConstPtr

template<class Derived >
using mrpt::serialization::CMemoryChunkBase< Derived >::ConstPtr = std::shared_ptr<const CMemoryChunk >

Definition at line 35 of file CMemoryChunk.h.

◆ ConstUniquePtr

template<class Derived >
using mrpt::serialization::CMemoryChunkBase< Derived >::ConstUniquePtr = std::unique_ptr<const CMemoryChunk >

Definition at line 35 of file CMemoryChunk.h.

◆ Ptr

template<class Derived >
using mrpt::serialization::CMemoryChunkBase< Derived >::Ptr = std::shared_ptr< CMemoryChunk >

A type for the associated smart pointer

Definition at line 35 of file CMemoryChunk.h.

◆ UniquePtr

template<class Derived >
using mrpt::serialization::CMemoryChunkBase< Derived >::UniquePtr = std::unique_ptr< CMemoryChunk >

Definition at line 35 of file CMemoryChunk.h.

Member Function Documentation

◆ _GetBaseClass()

template<class Derived >
const mrpt::rtti::TRuntimeClassId * mrpt::serialization::CMemoryChunkBase< Derived >::_GetBaseClass ( )
staticprotected

Definition at line 32 of file CMemoryChunk_impl.cpp.

References CLASS_ID_NAMESPACE.

◆ clone()

template<class Derived >
mrpt::rtti::CObject * mrpt::serialization::CMemoryChunkBase< Derived >::clone ( ) const
overridevirtual

Returns a deep copy (clone) of the object, indepently of its class.

Implements mrpt::rtti::CObject.

Definition at line 59 of file CMemoryChunk_impl.cpp.

◆ Create()

template<class Derived >
template<typename... Args>
static Ptr mrpt::serialization::CMemoryChunkBase< Derived >::Create ( Args &&...  args)
inlinestatic

Definition at line 35 of file CMemoryChunk.h.

◆ CreateObject()

template<class Derived >
mrpt::rtti::CObject * mrpt::serialization::CMemoryChunkBase< Derived >::CreateObject ( )
static

Definition at line 25 of file CMemoryChunk_impl.cpp.

◆ CreateUnique()

template<class Derived >
template<typename... Args>
static UniquePtr mrpt::serialization::CMemoryChunkBase< Derived >::CreateUnique ( Args &&...  args)
inlinestatic

Definition at line 35 of file CMemoryChunk.h.

◆ derived() [1/2]

template<class Derived >
Derived& mrpt::serialization::CMemoryChunkBase< Derived >::derived ( )
inlineprotected

Definition at line 37 of file CMemoryChunk.h.

◆ derived() [2/2]

template<class Derived >
const Derived& mrpt::serialization::CMemoryChunkBase< Derived >::derived ( ) const
inlineprotected

Definition at line 38 of file CMemoryChunk.h.

◆ duplicateGetSmartPtr()

mrpt::rtti::CObject::Ptr CObject::duplicateGetSmartPtr ( ) const
inlineinherited

Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer).

Definition at line 168 of file CObject.h.

References mrpt::rtti::CObject::clone().

Referenced by mrpt::obs::CRawlog::addActions(), and mrpt::obs::CRawlog::addObservations().

◆ getClassName()

template<class Derived >
static constexpr auto mrpt::serialization::CMemoryChunkBase< Derived >::getClassName ( )
inlinestatic

Definition at line 35 of file CMemoryChunk.h.

◆ GetRuntimeClass()

template<class Derived >
const mrpt::rtti::TRuntimeClassId * mrpt::serialization::CMemoryChunkBase< Derived >::GetRuntimeClass ( ) const
overridevirtual

Returns information about the class of an object in runtime.

Reimplemented from mrpt::serialization::CSerializable.

Definition at line 50 of file CMemoryChunk_impl.cpp.

References CLASS_ID_NAMESPACE.

◆ GetRuntimeClassIdStatic()

template<class Derived >
const mrpt::rtti::TRuntimeClassId & mrpt::serialization::CMemoryChunkBase< Derived >::GetRuntimeClassIdStatic ( )
static

Definition at line 38 of file CMemoryChunk_impl.cpp.

◆ operator delete() [1/3]

template<class Derived >
void mrpt::serialization::CMemoryChunkBase< Derived >::operator delete ( void ptr,
const std::nothrow_t &   
)
inlinenoexcept

Definition at line 35 of file CMemoryChunk.h.

◆ operator delete() [2/3]

template<class Derived >
void mrpt::serialization::CMemoryChunkBase< Derived >::operator delete ( void memory,
void ptr 
)
inlinenoexcept

Definition at line 35 of file CMemoryChunk.h.

◆ operator delete() [3/3]

template<class Derived >
void mrpt::serialization::CMemoryChunkBase< Derived >::operator delete ( void ptr)
inlinenoexcept

Definition at line 35 of file CMemoryChunk.h.

◆ operator delete[]()

template<class Derived >
void mrpt::serialization::CMemoryChunkBase< Derived >::operator delete[] ( void ptr)
inlinenoexcept

Definition at line 35 of file CMemoryChunk.h.

◆ operator new() [1/3]

template<class Derived >
void* mrpt::serialization::CMemoryChunkBase< Derived >::operator new ( size_t  size)
inline

Definition at line 35 of file CMemoryChunk.h.

◆ operator new() [2/3]

template<class Derived >
static void* mrpt::serialization::CMemoryChunkBase< Derived >::operator new ( size_t  size,
void ptr 
)
inlinestatic

Definition at line 35 of file CMemoryChunk.h.

◆ operator new() [3/3]

template<class Derived >
void* mrpt::serialization::CMemoryChunkBase< Derived >::operator new ( size_t  size,
const std::nothrow_t &   
)
inlinenoexcept

Definition at line 35 of file CMemoryChunk.h.

◆ operator new[]()

template<class Derived >
void* mrpt::serialization::CMemoryChunkBase< Derived >::operator new[] ( size_t  size)
inline

Definition at line 35 of file CMemoryChunk.h.

◆ serializeFrom()

template<class Derived >
void mrpt::serialization::CMemoryChunkBase< Derived >::serializeFrom ( mrpt::serialization::CArchive in,
uint8_t  serial_version 
)
overrideprotectedvirtual

Pure virtual method for reading (deserializing) from an abstract archive.

Users don't call this method directly. Instead, use stream >> object;.

Parameters
inThe input binary stream where the object data must read from.
versionThe version of the object stored in the stream: use this version number in your code to know how to read the incoming data.
Exceptions
std::exceptionOn any I/O error

Implements mrpt::serialization::CSerializable.

Definition at line 61 of file CMemoryChunk.h.

References MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION.

◆ serializeGetVersion()

template<class Derived >
uint8_t mrpt::serialization::CMemoryChunkBase< Derived >::serializeGetVersion ( ) const
overrideprotectedvirtual

Must return the current versioning number of the object.

Start in zero for new classes, and increments each time there is a change in the stored format.

Implements mrpt::serialization::CSerializable.

Definition at line 45 of file CMemoryChunk.h.

◆ serializeTo()

template<class Derived >
void mrpt::serialization::CMemoryChunkBase< Derived >::serializeTo ( mrpt::serialization::CArchive out) const
overrideprotectedvirtual

Pure virtual method for writing (serializing) to an abstract archive.

Users don't call this method directly. Instead, use stream << object;.

Exceptions
std::exceptionOn any I/O error

Implements mrpt::serialization::CSerializable.

Definition at line 50 of file CMemoryChunk.h.

References ASSERT_, and mrpt::serialization::CArchive::WriteBuffer().

◆ writeToMatlab()

virtual mxArray* mrpt::serialization::CSerializable::writeToMatlab ( ) const
inlinevirtualinherited

Introduces a pure virtual method responsible for writing to a mxArray Matlab object, typically a MATLAB struct whose contents are documented in each derived class.

Returns
A new mxArray (caller is responsible of memory freeing) or nullptr is class does not support conversion to MATLAB.

Definition at line 68 of file CSerializable.h.

Member Data Documentation

◆ _init_CMemoryChunk

template<class Derived >
mrpt::rtti::CLASSINIT mrpt::serialization::CMemoryChunkBase< Derived >::_init_CMemoryChunk
staticprotected

Definition at line 35 of file CMemoryChunk.h.

◆ className

template<class Derived >
constexpr const char* mrpt::serialization::CMemoryChunkBase< Derived >::className = "CMemoryChunk"
static

Definition at line 35 of file CMemoryChunk.h.

◆ runtimeClassId

template<class Derived >
const mrpt::rtti::TRuntimeClassId mrpt::serialization::CMemoryChunkBase< Derived >::runtimeClassId
staticprotected
Initial value:

Definition at line 35 of file CMemoryChunk.h.




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020