attributes.hh File Reference
#include <mia/core/msgstream.hh>
#include <mia/core/errormacro.hh>
#include <map>
#include <memory>
#include <string>
#include <cstring>
#include <vector>
#include <iostream>
#include <sstream>
#include <stdexcept>
#include <type_traits>
#include <iomanip>
#include <boost/any.hpp>
#include <boost/ref.hpp>
#include <boost/lexical_cast.hpp>
#include <mia/core/attributetype.hh>
Include dependency graph for attributes.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  attribute_type< CAttributeMap >
 
class  CAttribute
 The class of all attributes of data that is considered to ve meta-data. More...
 
class  CAttributedData
 A collection of attributes. More...
 
class  CAttrTranslator
 A class to translate an attribute from a string. More...
 
class  CStringAttrTranslatorMap
 A singelton class to translate strings to attributes based on keys. More...
 
class  TAttribute< T >
 Class of an attribute that holds data of type T. More...
 
class  TTranslator< T >
 Generic string vs. attribute translator singleton. More...
 

Typedefs

typedef TAttribute< CAttributeMapCAttributeList
 providing the possibility to nest attribute lists More...
 
typedef std::map< std::string, PAttributeCAttributeMap
 A name:attribute map. More...
 
typedef TTranslator< bool > CBitTranslator
 
typedef TAttribute< double > CDoubleAttribute
 a double attribute More...
 
typedef TAttribute< float > CFloatAttribute
 a float attribute More...
 
typedef TTranslator< float > CFloatTranslator
 
typedef TAttribute< int > CIntAttribute
 an integer attribute More...
 
typedef TTranslator< int8_t > CSBTranslator
 
typedef TTranslator< signed int > CSITranslator
 
typedef TTranslator< int64_t > CSLTranslator
 
typedef TTranslator< int16_t > CSSTranslator
 
typedef TAttribute< std::string > CStringAttribute
 a string attribute More...
 
typedef TTranslator< uint8_t > CUBTranslator
 
typedef TTranslator< unsigned int > CUITranslator
 
typedef TTranslator< uint64_t > CULTranslator
 
typedef TTranslator< uint16_t > CUSTranslator
 
typedef TTranslator< std::vector< bool > > CVBitTranslator
 
typedef TAttribute< std::vector< double > > CVDoubleAttribute
 a vector of doubles attribute More...
 
typedef TTranslator< std::vector< double > > CVDoubleTranslator
 
typedef TAttribute< std::vector< float > > CVFloatAttribute
 
typedef TTranslator< std::vector< float > > CVFloatTranslator
 
typedef TAttribute< std::vector< int > > CVIntAttribute
 a vector of integers attribute More...
 
typedef TTranslator< std::vector< int8_t > > CVSBTranslator
 
typedef TTranslator< std::vector< int32_t > > CVSITranslator
 
typedef TTranslator< std::vector< int64_t > > CVSLTranslator
 
typedef TTranslator< std::vector< int16_t > > CVSSTranslator
 
typedef TAttribute< std::vector< std::string > > CVStringAttribute
 a vector of strings attribute More...
 
typedef TTranslator< std::vector< uint8_t > > CVUBTranslator
 
typedef TTranslator< std::vector< uint32_t > > CVUITranslator
 
typedef TTranslator< std::vector< uint64_t > > CVULTranslator
 
typedef TTranslator< std::vector< uint16_t > > CVUSTranslator
 
typedef std::shared_ptr< CAttributePAttribute
 define the shared pointer wrapped attribute pointer More...
 
typedef std::shared_ptr< CAttributeMapPAttributeMap
 another pointer-usage easy maker More...
 

Functions

template<typename T >
void EXPORT_CORE add_attribute (CAttributeMap &attributes, const std::string &key, T value)
 
template<>
void EXPORT_CORE add_attribute (CAttributeMap &attributes, const std::string &key, const char *value)
 
template<typename T >
T EXPORT_CORE get_attribute_as (const CAttribute &attr)
 
std::ostream & operator<< (std::ostream &os, const CAttribute &attr)
 
EXPORT_CORE std::ostream & operator<< (std::ostream &os, const CAttributeMap &data)
 Facility to write an attribute map to a stream. More...
 
std::ostream & operator<< (std::ostream &os, const CAttributedData &data)
 
bool operator== (const CAttribute &a, const CAttribute &b)
 
EXPORT_CORE bool operator== (const CAttributeMap &am, const CAttributeMap &bm)
 Compare two attribute data instances a and b. More...
 

Variables

NEVER typedef TTranslator< double > CDoubleTranslator
 */ More...
 

Typedef Documentation

◆ CBitTranslator

typedef TTranslator<bool> CBitTranslator

Definition at line 817 of file attributes.hh.

◆ CFloatTranslator

typedef TTranslator<float> CFloatTranslator

Definition at line 790 of file attributes.hh.

◆ CSBTranslator

typedef TTranslator<int8_t> CSBTranslator

Definition at line 814 of file attributes.hh.

◆ CSITranslator

typedef TTranslator<signed int> CSITranslator

Definition at line 802 of file attributes.hh.

◆ CSLTranslator

typedef TTranslator<int64_t> CSLTranslator

Definition at line 796 of file attributes.hh.

◆ CSSTranslator

typedef TTranslator<int16_t> CSSTranslator

Definition at line 808 of file attributes.hh.

◆ CUBTranslator

typedef TTranslator<uint8_t> CUBTranslator

Definition at line 811 of file attributes.hh.

◆ CUITranslator

typedef TTranslator<unsigned int> CUITranslator

Definition at line 799 of file attributes.hh.

◆ CULTranslator

typedef TTranslator<uint64_t> CULTranslator

Definition at line 793 of file attributes.hh.

◆ CUSTranslator

typedef TTranslator<uint16_t> CUSTranslator

Definition at line 805 of file attributes.hh.

◆ CVBitTranslator

typedef TTranslator<std::vector<bool> > CVBitTranslator

Definition at line 818 of file attributes.hh.

◆ CVDoubleTranslator

typedef TTranslator<std::vector<double> > CVDoubleTranslator

Definition at line 788 of file attributes.hh.

◆ CVFloatTranslator

typedef TTranslator<std::vector<float> > CVFloatTranslator

Definition at line 791 of file attributes.hh.

◆ CVSBTranslator

typedef TTranslator<std::vector<int8_t> > CVSBTranslator

Definition at line 815 of file attributes.hh.

◆ CVSITranslator

typedef TTranslator<std::vector<int32_t> > CVSITranslator

Definition at line 803 of file attributes.hh.

◆ CVSLTranslator

typedef TTranslator<std::vector<int64_t> > CVSLTranslator

Definition at line 797 of file attributes.hh.

◆ CVSSTranslator

typedef TTranslator<std::vector<int16_t> > CVSSTranslator

Definition at line 809 of file attributes.hh.

◆ CVUBTranslator

typedef TTranslator<std::vector<uint8_t> > CVUBTranslator

Definition at line 812 of file attributes.hh.

◆ CVUITranslator

typedef TTranslator<std::vector<uint32_t> > CVUITranslator

Definition at line 800 of file attributes.hh.

◆ CVULTranslator

typedef TTranslator<std::vector<uint64_t> > CVULTranslator

Definition at line 794 of file attributes.hh.

◆ CVUSTranslator

typedef TTranslator<std::vector<uint16_t> > CVUSTranslator

Definition at line 806 of file attributes.hh.

◆ PAttribute

typedef std::shared_ptr<CAttribute > PAttribute

define the shared pointer wrapped attribute pointer

Definition at line 100 of file attributes.hh.

Function Documentation

◆ add_attribute()

template<>
void EXPORT_CORE add_attribute ( CAttributeMap attributes,
const std::string &  key,
const char *  value 
)
inline

◆ operator<<() [1/2]

std::ostream& operator<< ( std::ostream &  os,
const CAttribute attr 
)
inline

Definition at line 88 of file attributes.hh.

References CAttribute::as_string().

Referenced by vstream::operator<<().

◆ operator<<() [2/2]

std::ostream& operator<< ( std::ostream &  os,
const CAttributedData data 
)
inline

Definition at line 383 of file attributes.hh.

References EXPORT_CORE, operator==(), and CAttributedData::print().

◆ operator==()

bool operator== ( const CAttribute a,
const CAttribute b 
)
inline

Definition at line 93 of file attributes.hh.

References CAttribute::is_equal().

Referenced by operator<<().

Variable Documentation

◆ CDoubleTranslator

NEVER typedef TTranslator<double> CDoubleTranslator

*/

Definition at line 787 of file attributes.hh.