CAttributedData Class Reference
Basic data strctures and functions

A collection of attributes. More...

`#include <mia/core/attributes.hh>`

Inheritance diagram for CAttributedData:
[legend]

## Constructors

| CAttributedData ()
| CAttributedData (const CAttributedData &org)
| CAttributedData (PAttributeMap attr)
CAttributedData & | operator= (const CAttributedData &org)
| Assignemt operator.
const PAttribute | get_attribute (const std::string &key) const
CAttributeMap::const_iterator | begin_attributes () const
CAttributeMap::const_iterator | end_attributes () const
void | set_attribute (const std::string &key, PAttribute attr)
void | set_attributes (CAttributeMap::const_iterator begin, CAttributeMap::const_iterator end)
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)
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
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
void | delete_attribute (const std::string &key)
bool | has_attribute (const std::string &key) const
void | print (std::ostream &os) const

## 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 259 of file attributes.hh.

## Constructor & Destructor Documentation

## CAttributedData() [1/3]

CAttributedData::CAttributedData | ( |  | ) |

Referenced by C2DImage::C2DImage(), C3DImage::C3DImage(), CAttributedData(), has_attribute(), operator=(), T2DVectorfield< C2DDVector >::T2DVectorfield(), T3DVectorfield< C3DDVector >::T3DVectorfield(), T3DVectorfield< C3DDVector >::T3DVectorfield(), and T3DVectorfield< C3DDVector >::T3DVectorfield().

## CAttributedData() [2/3]

CAttributedData::CAttributedData | ( | const CAttributedData & | org | ) |

References CAttributedData().

## CAttributedData() [3/3]

CAttributedData::CAttributedData | ( | PAttributeMap | attr | ) |

Constructor that initialises with a certain attribute map

Parameters

  attr | the 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 get_attribute_as(), get_attribute_as(), and T3DVectorfield< C3DDVector >::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

  key | the key of the attribute to look up.

Returns
  the value of the attribute

Definition at line 792 of file attributes.hh.

References create_exception(), and get_attribute().

## get_attribute_as() [2/2]

template<typename T>

const T CAttributedData::get_attribute_as | ( | const std::string & | key,
|  | T | 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

  key | the key of the attribute to look up.
  default_value | the default value

Returns
  the value of the attribute

Definition at line 803 of file attributes.hh.

References cvwarn(), and get_attribute().

## 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

References CAttributedData(), and EXPORT_CORE.

## operator=()

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

Assignemt operator.

References CAttributedData().

## print()

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

inline

Definition at line 380 of file attributes.hh.

Referenced by operator<<().

## set_attribute() [1/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_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 |

References set_attribute().

## 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

  T | type of the attribute value to be set

Parameters

  key |
  value |

Definition at line 753 of file attributes.hh.

References add_attribute().

## set_attribute() [4/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 set_attribute(), and T3DVectorfield< C3DDVector >::set_voxel_size().

## 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:

- attributes.hh