An arbitrary list of "annotations", or named attributes, each being an instance of any CSerializable object.
A multi-hypotheses version exists in CMHPropertiesValuesList.
Definition at line 24 of file CPropertiesValuesList.h.
#include <mrpt/utils/CPropertiesValuesList.h>
Classes | |
struct | TPropertyValuePair |
Public Member Functions | |
void * | operator new (size_t size) |
void * | operator new[] (size_t size) |
void | operator delete (void *ptr) noexcept |
void | operator delete[] (void *ptr) noexcept |
void | operator delete (void *memory, void *ptr) noexcept |
void * | operator new (size_t size, const std::nothrow_t &) noexcept |
void | operator delete (void *ptr, const std::nothrow_t &) noexcept |
CPropertiesValuesList () | |
Default constructor. More... | |
CPropertiesValuesList (const CPropertiesValuesList &o) | |
Copy constructor. More... | |
CPropertiesValuesList & | operator= (const CPropertiesValuesList &o) |
Copy operator. More... | |
virtual | ~CPropertiesValuesList () |
Destructor. More... | |
void | clear () |
Clears the list. More... | |
CSerializable::Ptr | get (const std::string &propertyName) const |
Returns the value of the property (case insensitive), or nullptr if it does not exist. More... | |
void | set (const std::string &propertyName, const CSerializable::Ptr &obj) |
Sets/change the value of the property (case insensitive), making a copy of the object (or setting it to nullptr if it is the passed value) More... | |
size_t | size () const |
Returns the number of properties in the list. More... | |
std::vector< std::string > | getPropertyNames () const |
Returns the name of all properties in the list. More... | |
virtual mxArray * | writeToMatlab () 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 void * | operator 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< TPropertyValuePair > | m_properties |
The properties list: a map between strings and objects. More... | |
RTTI stuff | |
using | Ptr = std::shared_ptr< CPropertiesValuesList > |
using | ConstPtr = std::shared_ptr< const CPropertiesValuesList > |
static mrpt::utils::CLASSINIT | _init_CPropertiesValuesList |
static const mrpt::utils::TRuntimeClassId | runtimeClassId |
static constexpr const char * | className = "CPropertiesValuesList" |
static const mrpt::utils::TRuntimeClassId * | _GetBaseClass () |
static const mrpt::utils::TRuntimeClassId & | GetRuntimeClassIdStatic () |
static mrpt::utils::CObject * | CreateObject () |
template<typename... Args> | |
static Ptr | Create (Args &&... args) |
virtual const mrpt::utils::TRuntimeClassId * | GetRuntimeClass () const override |
Returns information about the class of an object in runtime. More... | |
virtual mrpt::utils::CObject * | clone () const override |
Returns a deep copy (clone) of the object, indepently of its class. More... | |
using mrpt::utils::CPropertiesValuesList::ConstPtr = std::shared_ptr<const CPropertiesValuesList > |
Definition at line 26 of file CPropertiesValuesList.h.
using mrpt::utils::CPropertiesValuesList::Ptr = std::shared_ptr< CPropertiesValuesList > |
A typedef for the associated smart pointer
Definition at line 26 of file CPropertiesValuesList.h.
CPropertiesValuesList::CPropertiesValuesList | ( | ) |
Default constructor.
Definition at line 97 of file CPropertiesValuesList.cpp.
CPropertiesValuesList::CPropertiesValuesList | ( | const CPropertiesValuesList & | o | ) |
Copy constructor.
Definition at line 105 of file CPropertiesValuesList.cpp.
References m_properties.
|
virtual |
Destructor.
Definition at line 101 of file CPropertiesValuesList.cpp.
References mrpt::utils::clear().
|
staticprotected |
void CPropertiesValuesList::clear | ( | ) |
Clears the list.
Definition at line 131 of file CPropertiesValuesList.cpp.
References m_properties, MRPT_END, and MRPT_START.
|
overridevirtual |
Returns a deep copy (clone) of the object, indepently of its class.
Implements mrpt::utils::CObject.
|
inlinestatic |
Definition at line 26 of file CPropertiesValuesList.h.
|
static |
CSerializable::Ptr CPropertiesValuesList::get | ( | const std::string & | propertyName | ) | const |
Returns the value of the property (case insensitive), or nullptr if it does not exist.
Definition at line 141 of file CPropertiesValuesList.cpp.
References mrpt::system::os::_strcmpi(), and m_properties.
std::vector< std::string > CPropertiesValuesList::getPropertyNames | ( | ) | const |
Returns the name of all properties in the list.
Definition at line 196 of file CPropertiesValuesList.cpp.
References m_properties.
|
overridevirtual |
Returns information about the class of an object in runtime.
Reimplemented from mrpt::utils::CSerializable.
|
static |
Definition at line 26 of file CPropertiesValuesList.h.
|
inlinenoexcept |
Definition at line 26 of file CPropertiesValuesList.h.
|
inlinenoexcept |
Definition at line 26 of file CPropertiesValuesList.h.
Definition at line 26 of file CPropertiesValuesList.h.
|
inlinestatic |
Definition at line 26 of file CPropertiesValuesList.h.
|
inlinenoexcept |
Definition at line 26 of file CPropertiesValuesList.h.
|
inline |
Definition at line 26 of file CPropertiesValuesList.h.
|
inline |
Definition at line 26 of file CPropertiesValuesList.h.
CPropertiesValuesList & CPropertiesValuesList::operator= | ( | const CPropertiesValuesList & | o | ) |
|
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.
in | The input binary stream where the object data must read from. |
version | The version of the object stored in the stream: use this version number in your code to know how to read the incoming data. |
std::exception | On any error, see CStream::ReadBuffer |
Implements mrpt::utils::CSerializable.
Definition at line 55 of file CPropertiesValuesList.cpp.
References mrpt::utils::clear(), and MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION.
void CPropertiesValuesList::set | ( | const std::string & | propertyName, |
const CSerializable::Ptr & | obj | ||
) |
Sets/change the value of the property (case insensitive), making a copy of the object (or setting it to nullptr if it is the passed value)
Definition at line 158 of file CPropertiesValuesList.cpp.
References mrpt::system::os::_strcmpi(), m_properties, MRPT_END_WITH_CLEAN_UP, MRPT_START, mrpt::utils::CPropertiesValuesList::TPropertyValuePair::name, and mrpt::utils::CPropertiesValuesList::TPropertyValuePair::value.
size_t CPropertiesValuesList::size | ( | ) | const |
Returns the number of properties in the list.
Definition at line 192 of file CPropertiesValuesList.cpp.
References m_properties.
|
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.
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.
|
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.
out | The output binary stream where object must be dumped. |
getVersion | If 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. |
std::exception | On any error, see CStream::WriteBuffer |
Implements mrpt::utils::CSerializable.
Definition at line 27 of file CPropertiesValuesList.cpp.
|
staticprotected |
Definition at line 26 of file CPropertiesValuesList.h.
|
static |
Definition at line 26 of file CPropertiesValuesList.h.
|
protected |
The properties list: a map between strings and objects.
Definition at line 35 of file CPropertiesValuesList.h.
Referenced by clear(), CPropertiesValuesList(), get(), getPropertyNames(), operator=(), set(), and size().
|
staticprotected |
Definition at line 26 of file CPropertiesValuesList.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 |