MRPT logo

mrpt::utils::CMHPropertiesValuesList Class Reference

An arbitrary list of "annotations", or named attributes, each being an instance of any CSerializable object (Multi-hypotheses version). More...

#include <mrpt/utils/CMHPropertiesValuesList.h>

Inheritance diagram for mrpt::utils::CMHPropertiesValuesList:

mrpt::utils::CSerializable

List of all members.

Public Types

typedef std::vector
< TPropertyValueIDTriplet >
::iterator 
iterator
typedef std::vector
< TPropertyValueIDTriplet >
::const_iterator 
const_iterator

Public Member Functions

 CMHPropertiesValuesList ()
 Default constructor.
 CMHPropertiesValuesList (const CMHPropertiesValuesList &o)
 Copy constructor.
CMHPropertiesValuesListoperator= (const CMHPropertiesValuesList &o)
 Copy operator.
virtual ~CMHPropertiesValuesList ()
 Destructor.
void clear ()
 Clears the list and frees all object's memory.
CSerializablePtr get (const char *propertyName, const int64_t &hypothesis_ID) const
 Returns the value of the property (case insensitive) for some given hypothesis ID, or a NULL smart pointer if it does not exist.
template<typename T >
T::SmartPtr getAs (const char *propertyName, const int64_t &hypothesis_ID, bool allowNullPointer=true) const
 Returns the value of the property (case insensitive) for some given hypothesis ID checking its class in runtime, or a NULL smart pointer if it does not exist.
CSerializablePtr getAnyHypothesis (const char *propertyName) const
 Returns the value of the property (case insensitive) for the first hypothesis ID found, or NULL if it does not exist.
void set (const char *propertyName, const CSerializablePtr &obj, const int64_t &hypothesis_ID)
 Sets/change the value of the property (case insensitive) for the given hypothesis ID, making a copy of the object (or setting it to NULL if it is the passed value).
void setMemoryReference (const char *propertyName, const CSerializablePtr &obj, const int64_t &hypothesis_ID)
 Sets/change the value of the property (case insensitive) for the given hypothesis ID, directly replacing the pointer instead of making a copy of the object.
void remove (const char *propertyName, const int64_t &hypothesis_ID)
 Remove a given property, if it exists.
void removeAll (const int64_t &hypothesis_ID)
 Remove all the properties for the given hypothesis.
template<class T >
void setElemental (const char *propertyName, const T &data, const int64_t &hypothesis_ID)
 Sets/change the value of a property (case insensitive) for the given hypothesis ID, from an elemental data type.
template<class T >
bool getElemental (const char *propertyName, T &out_data, const int64_t &hypothesis_ID, bool raiseExceptionIfNotFound=false) const
 Gets the value of a property (case insensitive) for the given hypothesis ID, retrieves it as an elemental data type (types must coincide, basic size check is performed).
std::vector< std::string > getPropertyNames () const
 Returns the name of all properties in the list.
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
size_t size () const

Private Attributes

std::vector
< TPropertyValueIDTriplet
m_properties


Detailed Description

An arbitrary list of "annotations", or named attributes, each being an instance of any CSerializable object (Multi-hypotheses version).

For each named annotation (or attribute), several values may exist, each associated to a given hypothesis ID. A non multi-hypotheses version exists in CPropertiesValuesList.

See also:
CSerializable, CPropertiesValuesList

Definition at line 64 of file CMHPropertiesValuesList.h.


Member Typedef Documentation

Definition at line 204 of file CMHPropertiesValuesList.h.

Definition at line 203 of file CMHPropertiesValuesList.h.


Constructor & Destructor Documentation

mrpt::utils::CMHPropertiesValuesList::CMHPropertiesValuesList (  ) 

Default constructor.

mrpt::utils::CMHPropertiesValuesList::CMHPropertiesValuesList ( const CMHPropertiesValuesList o  ) 

Copy constructor.

virtual mrpt::utils::CMHPropertiesValuesList::~CMHPropertiesValuesList (  )  [virtual]

Destructor.


Member Function Documentation

const_iterator mrpt::utils::CMHPropertiesValuesList::begin (  )  const [inline]

Definition at line 207 of file CMHPropertiesValuesList.h.

iterator mrpt::utils::CMHPropertiesValuesList::begin (  )  [inline]

Definition at line 206 of file CMHPropertiesValuesList.h.

void mrpt::utils::CMHPropertiesValuesList::clear (  ) 

Clears the list and frees all object's memory.

const_iterator mrpt::utils::CMHPropertiesValuesList::end (  )  const [inline]

Definition at line 209 of file CMHPropertiesValuesList.h.

iterator mrpt::utils::CMHPropertiesValuesList::end (  )  [inline]

Definition at line 208 of file CMHPropertiesValuesList.h.

CSerializablePtr mrpt::utils::CMHPropertiesValuesList::get ( const char *  propertyName,
const int64_t &  hypothesis_ID 
) const

Returns the value of the property (case insensitive) for some given hypothesis ID, or a NULL smart pointer if it does not exist.

CSerializablePtr mrpt::utils::CMHPropertiesValuesList::getAnyHypothesis ( const char *  propertyName  )  const

Returns the value of the property (case insensitive) for the first hypothesis ID found, or NULL if it does not exist.

template<typename T >
T::SmartPtr mrpt::utils::CMHPropertiesValuesList::getAs ( const char *  propertyName,
const int64_t &  hypothesis_ID,
bool  allowNullPointer = true 
) const [inline]

Returns the value of the property (case insensitive) for some given hypothesis ID checking its class in runtime, or a NULL smart pointer if it does not exist.

Definition at line 100 of file CMHPropertiesValuesList.h.

References ASSERT_, MRPT_TRY_END, MRPT_TRY_START, and THROW_EXCEPTION.

template<class T >
bool mrpt::utils::CMHPropertiesValuesList::getElemental ( const char *  propertyName,
T &  out_data,
const int64_t &  hypothesis_ID,
bool  raiseExceptionIfNotFound = false 
) const [inline]

Gets the value of a property (case insensitive) for the given hypothesis ID, retrieves it as an elemental data type (types must coincide, basic size check is performed).

Returns:
false if the property does not exist for the given hypothesis.

Definition at line 177 of file CMHPropertiesValuesList.h.

References mrpt::system::os::_strcmpi(), ASSERT_, MRPT_TRY_END, MRPT_TRY_START, THROW_EXCEPTION, and THROW_EXCEPTION_CUSTOM_MSG1.

std::vector<std::string> mrpt::utils::CMHPropertiesValuesList::getPropertyNames (  )  const

Returns the name of all properties in the list.

CMHPropertiesValuesList& mrpt::utils::CMHPropertiesValuesList::operator= ( const CMHPropertiesValuesList o  ) 

Copy operator.

void mrpt::utils::CMHPropertiesValuesList::remove ( const char *  propertyName,
const int64_t &  hypothesis_ID 
)

Remove a given property, if it exists.

void mrpt::utils::CMHPropertiesValuesList::removeAll ( const int64_t &  hypothesis_ID  ) 

Remove all the properties for the given hypothesis.

void mrpt::utils::CMHPropertiesValuesList::set ( const char *  propertyName,
const CSerializablePtr obj,
const int64_t &  hypothesis_ID 
)

Sets/change the value of the property (case insensitive) for the given hypothesis ID, making a copy of the object (or setting it to NULL if it is the passed value).

See also:
setMemoryReference

template<class T >
void mrpt::utils::CMHPropertiesValuesList::setElemental ( const char *  propertyName,
const T &  data,
const int64_t &  hypothesis_ID 
) [inline]

Sets/change the value of a property (case insensitive) for the given hypothesis ID, from an elemental data type.

Definition at line 142 of file CMHPropertiesValuesList.h.

References mrpt::system::os::_strcmpi(), mrpt::utils::TPropertyValueIDTriplet::ID, MRPT_TRY_END_WITH_CLEAN_UP, MRPT_TRY_START, mrpt::utils::TPropertyValueIDTriplet::name, and mrpt::utils::TPropertyValueIDTriplet::value.

void mrpt::utils::CMHPropertiesValuesList::setMemoryReference ( const char *  propertyName,
const CSerializablePtr obj,
const int64_t &  hypothesis_ID 
)

Sets/change the value of the property (case insensitive) for the given hypothesis ID, directly replacing the pointer instead of making a copy of the object.

See also:
set

size_t mrpt::utils::CMHPropertiesValuesList::size (  )  const [inline]

Definition at line 211 of file CMHPropertiesValuesList.h.


Member Data Documentation

Definition at line 70 of file CMHPropertiesValuesList.h.




Page generated by Doxygen 1.5.8 for MRPT 0.6.5 SVN: at Thu Feb 26 02:19:01 EST 2009