CAttributedData Class Reference

A collection of attributes. More...

#include <mia/core/attributes.hh>

Inheritance diagram for CAttributedData:
[legend]

Public Member Functions

CAttributeMap::const_iterator begin_attributes () const
 
void delete_attribute (const std::string &key)
 
CAttributeMap::const_iterator end_attributes () const
 
const PAttribute get_attribute (const std::string &key) const
 
template<typename T >
const T get_attribute_as (const std::string &key) const
 
template<typename T >
const T get_attribute_as (const std::string &key, T default_value) const
 
const std::string get_attribute_as_string (const std::string &key) const
 returns the requested attribute as string, returns an empty string if attribute doesn't exist More...
 
bool has_attribute (const std::string &key) const
 
CAttributedDataoperator= (const CAttributedData &org)
 Assignemt operator. More...
 
void print (std::ostream &os) const
 
void set_attribute (const std::string &key, PAttribute attr)
 
void set_attribute (const std::string &key, const std::string &value)
 
template<typename T >
void set_attribute (const std::string &key, const T &value)
 
void set_attribute (const std::string &key, const char *value)
 
void set_attributes (CAttributeMap::const_iterator begin, CAttributeMap::const_iterator end)
 
Constructors
 CAttributedData ()
 
 CAttributedData (const CAttributedData &org)
 
 CAttributedData (PAttributeMap attr)
 

Detailed Description

A collection of attributes.

This is the base class for all data that uses attributes. It provides all the needed functions to store and retrieve attributes.

Definition at line 255 of file attributes.hh.

Constructor & Destructor Documentation

◆ CAttributedData() [1/3]

CAttributedData::CAttributedData ( )

◆ CAttributedData() [2/3]

CAttributedData::CAttributedData ( const CAttributedData org)

◆ CAttributedData() [3/3]

CAttributedData::CAttributedData ( PAttributeMap  attr)

Constructor that initialises with a certain attribute map

Parameters
attrthe map to be initialised with

Member Function Documentation

◆ begin_attributes()

CAttributeMap::const_iterator CAttributedData::begin_attributes ( ) const
Returns
the begin iterator to the attributes

◆ delete_attribute()

void CAttributedData::delete_attribute ( const std::string &  key)

Delete the attribute with a given key from the list

Parameters
key

◆ end_attributes()

CAttributeMap::const_iterator CAttributedData::end_attributes ( ) const
Returns
the end iterator to the attributes

◆ get_attribute()

const PAttribute CAttributedData::get_attribute ( const std::string &  key) const
Parameters
key
Returns
the attribute with name name or NULL (wrapped as shared pointer) if the attribute with name is not found

Referenced by T3DVectorfield< C3DFVector >::get_voxel_size().

◆ get_attribute_as() [1/2]

template<typename T >
const T CAttributedData::get_attribute_as ( const std::string &  key) const

Look for a certain attribute and try to cast it to the output type. If the attribute is not found, a std::invalid_argument exception is thrown. If the cast fails then std::bad_cast exception will be thrown.

Parameters
keythe key of the attribute to look up.
Returns
the value of the attribute

Definition at line 755 of file attributes.hh.

◆ get_attribute_as() [2/2]

template<typename T >
const T CAttributedData::get_attribute_as ( const std::string &  key,
default_value 
) const

Look for a certain attribute and try to cast it to the output type. If the attribute is not found, or the cast goes wrong use the default value In the latter case a warning is written out.

Parameters
keythe key of the attribute to look up.
default_valuethe default value
Returns
the value of the attribute

Definition at line 765 of file attributes.hh.

References cvwarn(), and EXPORT_CORE.

◆ get_attribute_as_string()

const std::string CAttributedData::get_attribute_as_string ( const std::string &  key) const

returns the requested attribute as string, returns an empty string if attribute doesn't exist

◆ has_attribute()

bool CAttributedData::has_attribute ( const std::string &  key) const

See if a certain attribute exists

Parameters
key
Returns
true if attribute exists, false otherwise

◆ operator=()

CAttributedData& CAttributedData::operator= ( const CAttributedData org)

Assignemt operator.

◆ print()

void CAttributedData::print ( std::ostream &  os) const
inline

Definition at line 375 of file attributes.hh.

Referenced by operator<<().

◆ set_attribute() [1/4]

void CAttributedData::set_attribute ( const std::string &  key,
PAttribute  attr 
)

Sets the attribute name to value attr. If attr is NULL, then the attribute is removed from the list (or not added)

Parameters
key
attr

Referenced by T3DVectorfield< C3DFVector >::set_voxel_size().

◆ set_attribute() [2/4]

void CAttributedData::set_attribute ( const std::string &  key,
const std::string &  value 
)

Set an attribute using one of the defined translators

Parameters
key
value

◆ set_attribute() [3/4]

template<typename T >
void CAttributedData::set_attribute ( const std::string &  key,
const T &  value 
)

Set an attribute, generic version.

Template Parameters
Ttype of the attribute value to be set
Parameters
key
value

Definition at line 719 of file attributes.hh.

References add_attribute(), cvdebug(), CAttribute::typedescr(), and TAttribute< T >::typedescr().

◆ set_attribute() [4/4]

void CAttributedData::set_attribute ( const std::string &  key,
const char *  value 
)

Set an attribute using one of the defined translators

Parameters
key
value

◆ set_attributes()

void CAttributedData::set_attributes ( CAttributeMap::const_iterator  begin,
CAttributeMap::const_iterator  end 
)

Insersts or overwrites the attributes given in the input range

Parameters
begin
end

The documentation for this class was generated from the following file: