Main MRPT website > C++ reference for MRPT 1.5.6
List of all members | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes
mrpt::utils::CTypeSelector Class Reference

Detailed Description

This class represents a std::string derived class which is also CSerializable.

See also
CSerializable

Definition at line 25 of file CTypeSelector.h.

#include <mrpt/utils/CTypeSelector.h>

Inheritance diagram for mrpt::utils::CTypeSelector:
Inheritance graph

Public Member Functions

voidoperator new (size_t size)
 
voidoperator new[] (size_t size)
 
void operator delete (void *ptr) throw ()
 
void operator delete[] (void *ptr) throw ()
 
void operator delete (void *memory, void *ptr) throw ()
 
voidoperator new (size_t size, const std::nothrow_t &) throw ()
 
void operator delete (void *ptr, const std::nothrow_t &) throw ()
 
 CTypeSelector (std::string posibilitiesList="", std::string defaultType="")
 Default constructor. More...
 
virtual ~CTypeSelector ()
 Destructor. More...
 
void getTypePosibilities (std::vector< std::string > &outPosibilities) const
 Returns the set of posibilities in the "type" represented by this class. More...
 
std::string getType () const
 Gets the currently selected type, from the set of posibilities. More...
 
bool isType (const char *type) const
 Fast check for a given type, returns true if the selection is exactly the specified type name. More...
 
bool isType (const std::string &type) const
 Fast check for a given type, returns true if the selection is exactly the specified type name. More...
 
void setType (const std::string &type)
 Sets the currently selected type. More...
 
int checkTypeIndex (const std::string &type) const
 Returns the index of a given type within the list of all possible types, or -1 if the given string is not a valid type. More...
 
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...
 
mrpt::utils::CObjectPtr 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...
 
CObjectclone () const
 Cloning interface for smart pointers. More...
 

Static Public Member Functions

static voidoperator new (size_t size, void *ptr)
 

Static Public Attributes

static const mrpt::utils::TRuntimeClassId classCObject
 
RTTI stuff
static const mrpt::utils::TRuntimeClassId classCSerializable
 

Protected Member Functions

CSerializable virtual methods
void writeToStream (mrpt::utils::CStream &out, int *getVersion) const
 Introduces a pure virtual method responsible for writing to a CStream. More...
 
void readFromStream (mrpt::utils::CStream &in, int version)
 Introduces a pure virtual method responsible for loading from a CStream This can not be used directly be users, instead use "stream >> object;" for reading it from a stream or "stream >> object_ptr;" if the class is unknown apriori. More...
 

Protected Attributes

std::vector< std::stringpossibleTypes
 The possibilities. More...
 
unsigned int selection
 The selected one: More...
 

RTTI stuff

typedef CTypeSelectorPtr Ptr
 
typedef CTypeSelectorPtr ConstPtr
 
static mrpt::utils::CLASSINIT _init_CTypeSelector
 
static mrpt::utils::TRuntimeClassId classCTypeSelector
 
static const mrpt::utils::TRuntimeClassIdclassinfo
 
static const mrpt::utils::TRuntimeClassId_GetBaseClass ()
 
virtual const mrpt::utils::TRuntimeClassIdGetRuntimeClass () const
 Returns information about the class of an object in runtime. More...
 
virtual mrpt::utils::CObjectduplicate () const
 Returns a copy of the object, indepently of its class. More...
 
static mrpt::utils::CObjectCreateObject ()
 
static CTypeSelectorPtr Create ()
 

Member Typedef Documentation

◆ ConstPtr

typedef CTypeSelectorPtr mrpt::utils::CTypeSelector::ConstPtr

Definition at line 28 of file CTypeSelector.h.

◆ Ptr

typedef CTypeSelectorPtr mrpt::utils::CTypeSelector::Ptr

A typedef for the associated smart pointer

Definition at line 28 of file CTypeSelector.h.

Constructor & Destructor Documentation

◆ CTypeSelector()

CTypeSelector::CTypeSelector ( std::string  posibilitiesList = "",
std::string  defaultType = "" 
)

Default constructor.

Parameters
posibilitiesListThe list of options, as a comma-separated-string, for example: "type 1,other type 2,type_3"
defaultTypeDefault type value

Definition at line 82 of file CTypeSelector.cpp.

References mrpt::system::tokenize().

◆ ~CTypeSelector()

CTypeSelector::~CTypeSelector ( )
virtual

Destructor.

Definition at line 98 of file CTypeSelector.cpp.

Member Function Documentation

◆ _GetBaseClass()

static const mrpt::utils::TRuntimeClassId* mrpt::utils::CTypeSelector::_GetBaseClass ( )
staticprotected

◆ checkTypeIndex()

int CTypeSelector::checkTypeIndex ( const std::string type) const

Returns the index of a given type within the list of all possible types, or -1 if the given string is not a valid type.

Definition at line 161 of file CTypeSelector.cpp.

References mrpt::system::os::_strcmpi().

Referenced by mrpt::hwdrivers::CCameraSensor::initialize().

◆ clone()

CObject* mrpt::utils::CObject::clone ( ) const
inlineinherited

Cloning interface for smart pointers.

Definition at line 143 of file CObject.h.

◆ Create()

static CTypeSelectorPtr mrpt::utils::CTypeSelector::Create ( )
static

◆ CreateObject()

static mrpt::utils::CObject* mrpt::utils::CTypeSelector::CreateObject ( )
static

◆ duplicate()

virtual mrpt::utils::CObject* mrpt::utils::CTypeSelector::duplicate ( ) const
virtual

Returns a copy of the object, indepently of its class.

Implements mrpt::utils::CObject.

◆ duplicateGetSmartPtr()

mrpt::utils::CObjectPtr mrpt::utils::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 140 of file CObject.h.

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

◆ GetRuntimeClass()

virtual const mrpt::utils::TRuntimeClassId* mrpt::utils::CTypeSelector::GetRuntimeClass ( ) const
virtual

Returns information about the class of an object in runtime.

Reimplemented from mrpt::utils::CSerializable.

◆ getType()

std::string CTypeSelector::getType ( ) const

Gets the currently selected type, from the set of posibilities.

See also
setType,getTypePosibilities
Exceptions
std::exceptionIf currently there is not a valid selection.

Definition at line 105 of file CTypeSelector.cpp.

References THROW_EXCEPTION.

Referenced by mrpt::hmtslam::CHMHMapArc::writeToStream().

◆ getTypePosibilities()

void CTypeSelector::getTypePosibilities ( std::vector< std::string > &  outPosibilities) const

Returns the set of posibilities in the "type" represented by this class.

Definition at line 137 of file CTypeSelector.cpp.

◆ isType() [1/2]

bool CTypeSelector::isType ( const char *  type) const

Fast check for a given type, returns true if the selection is exactly the specified type name.

Definition at line 145 of file CTypeSelector.cpp.

◆ isType() [2/2]

bool CTypeSelector::isType ( const std::string type) const

Fast check for a given type, returns true if the selection is exactly the specified type name.

Definition at line 153 of file CTypeSelector.cpp.

◆ operator delete() [1/3]

void mrpt::utils::CTypeSelector::operator delete ( void ptr)
throw (
)
inline

Definition at line 28 of file CTypeSelector.h.

◆ operator delete() [2/3]

void mrpt::utils::CTypeSelector::operator delete ( void memory,
void ptr 
)
throw (
)
inline

Definition at line 28 of file CTypeSelector.h.

◆ operator delete() [3/3]

void mrpt::utils::CTypeSelector::operator delete ( void ptr,
const std::nothrow_t &   
)
throw (
)
inline

Definition at line 28 of file CTypeSelector.h.

◆ operator delete[]()

void mrpt::utils::CTypeSelector::operator delete[] ( void ptr)
throw (
)
inline

Definition at line 28 of file CTypeSelector.h.

◆ operator new() [1/3]

void* mrpt::utils::CTypeSelector::operator new ( size_t  size)
inline

Definition at line 28 of file CTypeSelector.h.

◆ operator new() [2/3]

void* mrpt::utils::CTypeSelector::operator new ( size_t  size,
const std::nothrow_t &   
)
throw (
)
inline

Definition at line 28 of file CTypeSelector.h.

◆ operator new() [3/3]

static void* mrpt::utils::CTypeSelector::operator new ( size_t  size,
void ptr 
)
inlinestatic

Definition at line 28 of file CTypeSelector.h.

◆ operator new[]()

void* mrpt::utils::CTypeSelector::operator new[] ( size_t  size)
inline

Definition at line 28 of file CTypeSelector.h.

◆ readFromStream()

void CTypeSelector::readFromStream ( mrpt::utils::CStream in,
int  version 
)
protectedvirtual

Introduces a pure virtual method responsible for loading from a CStream This can not be used directly be users, instead use "stream >> object;" for reading it from a stream or "stream >> object_ptr;" if the class is unknown apriori.

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 error, see CStream::ReadBuffer
See also
CStream

Implements mrpt::utils::CSerializable.

Definition at line 50 of file CTypeSelector.cpp.

References MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION, and version.

◆ setType()

void CTypeSelector::setType ( const std::string type)

Sets the currently selected type.

See also
getType,getTypePosibilities
Exceptions
std::exceptionOn trying to select a type not in the list of posible values.

Definition at line 116 of file CTypeSelector.cpp.

References mrpt::system::os::_strcmpi(), and THROW_EXCEPTION_FMT.

Referenced by mrpt::hmtslam::CHMHMapArc::readFromStream().

◆ writeToMatlab()

virtual mxArray* mrpt::utils::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 NULL is class does not support conversion to MATLAB.

Definition at line 79 of file CSerializable.h.

◆ writeToStream()

void CTypeSelector::writeToStream ( mrpt::utils::CStream out,
int *  getVersion 
) const
protectedvirtual

Introduces a pure virtual method responsible for writing to a CStream.

This can not be used directly be users, instead use "stream << object;" for writing it to a stream.

Parameters
outThe output binary stream where object must be dumped.
getVersionIf NULL, the object must be dumped. If not, only the version of the object dump must be returned in this pointer. This enables the versioning of objects dumping and backward compatibility with previously stored data.
Exceptions
std::exceptionOn any error, see CStream::WriteBuffer
See also
CStream

Implements mrpt::utils::CSerializable.

Definition at line 27 of file CTypeSelector.cpp.

Member Data Documentation

◆ _init_CTypeSelector

mrpt::utils::CLASSINIT mrpt::utils::CTypeSelector::_init_CTypeSelector
staticprotected

Definition at line 28 of file CTypeSelector.h.

◆ classCObject

const mrpt::utils::TRuntimeClassId mrpt::utils::CObject::classCObject
staticinherited

Definition at line 128 of file CObject.h.

◆ classCSerializable

const mrpt::utils::TRuntimeClassId mrpt::utils::CSerializable::classCSerializable
staticinherited

Definition at line 42 of file CSerializable.h.

◆ classCTypeSelector

mrpt::utils::TRuntimeClassId mrpt::utils::CTypeSelector::classCTypeSelector
static

Definition at line 28 of file CTypeSelector.h.

◆ classinfo

const mrpt::utils::TRuntimeClassId* mrpt::utils::CTypeSelector::classinfo
static

Definition at line 28 of file CTypeSelector.h.

◆ possibleTypes

std::vector<std::string> mrpt::utils::CTypeSelector::possibleTypes
protected

The possibilities.

Definition at line 32 of file CTypeSelector.h.

◆ selection

unsigned int mrpt::utils::CTypeSelector::selection
protected

The selected one:

Definition at line 36 of file CTypeSelector.h.




Page generated by Doxygen 1.8.14 for MRPT 1.5.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019