Main MRPT website > C++ reference for MRPT 1.9.9
List of all members | Public Member Functions | Static Public Member Functions | 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 23 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) 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
 
 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...
 
RTTI classes and functions
mrpt::utils::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

CSerializable virtual methods
void writeToStream (mrpt::utils::CStream &out, int *getVersion) const override
 Introduces a pure virtual method responsible for writing to a CStream. More...
 
void readFromStream (mrpt::utils::CStream &in, int version) override
 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

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

Member Typedef Documentation

◆ ConstPtr

using mrpt::utils::CTypeSelector::ConstPtr = std::shared_ptr<const CTypeSelector >

Definition at line 25 of file CTypeSelector.h.

◆ Ptr

using mrpt::utils::CTypeSelector::Ptr = std::shared_ptr< CTypeSelector >

A typedef for the associated smart pointer

Definition at line 25 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().

Here is the call graph for this function:

◆ ~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 160 of file CTypeSelector.cpp.

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

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clone()

virtual mrpt::utils::CObject* mrpt::utils::CTypeSelector::clone ( ) const
overridevirtual

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

Implements mrpt::utils::CObject.

◆ Create()

template<typename... Args>
static Ptr mrpt::utils::CTypeSelector::Create ( Args &&...  args)
inlinestatic

Definition at line 25 of file CTypeSelector.h.

◆ CreateObject()

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

◆ GetRuntimeClass()

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

Returns information about the class of an object in runtime.

Reimplemented from mrpt::utils::CSerializable.

◆ GetRuntimeClassIdStatic()

static const mrpt::utils::TRuntimeClassId& mrpt::utils::CTypeSelector::GetRuntimeClassIdStatic ( )
static

◆ 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 102 of file CTypeSelector.cpp.

References THROW_EXCEPTION.

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

Here is the caller graph for this function:

◆ 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 135 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 144 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 152 of file CTypeSelector.cpp.

◆ operator delete() [1/3]

void mrpt::utils::CTypeSelector::operator delete ( void ptr)
inlinenoexcept

Definition at line 25 of file CTypeSelector.h.

◆ operator delete() [2/3]

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

Definition at line 25 of file CTypeSelector.h.

◆ operator delete() [3/3]

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

Definition at line 25 of file CTypeSelector.h.

◆ operator delete[]()

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

Definition at line 25 of file CTypeSelector.h.

◆ operator new() [1/3]

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

Definition at line 25 of file CTypeSelector.h.

◆ operator new() [2/3]

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

Definition at line 25 of file CTypeSelector.h.

◆ operator new() [3/3]

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

Definition at line 25 of file CTypeSelector.h.

◆ operator new[]()

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

Definition at line 25 of file CTypeSelector.h.

◆ readFromStream()

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

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.

◆ 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 113 of file CTypeSelector.cpp.

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

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 nullptr is class does not support conversion to MATLAB.

Definition at line 89 of file CSerializable.h.

◆ writeToStream()

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

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 nullptr, 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 25 of file CTypeSelector.h.

◆ className

constexpr const char* mrpt::utils::CTypeSelector::className = "CTypeSelector"
static

Definition at line 25 of file CTypeSelector.h.

◆ possibleTypes

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

The possibilities.

Definition at line 29 of file CTypeSelector.h.

◆ runtimeClassId

const mrpt::utils::TRuntimeClassId mrpt::utils::CTypeSelector::runtimeClassId
staticprotected

Definition at line 25 of file CTypeSelector.h.

◆ selection

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

The selected one:

Definition at line 33 of file CTypeSelector.h.




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019