Image Component Library (ICL)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes | Friends
icl::utils::ConfigFile::Data Class Reference

Data- type used for the []-operator of ConfigFile instances. More...

#include <ConfigFile.h>

List of all members.

Public Member Functions

template<class T >
 operator T () const throw (InvalidTypeException,EntryNotFoundException)
 automatic cast operator (lvalue type determines T)
template<class T >
as () const throw (InvalidTypeException,EntryNotFoundException)
 explicit cast into given type
Dataoperator= (const Data &d)
 special assignment for data instances
template<class T >
Dataoperator= (const T &t) throw (UnregisteredTypeException,InvalidTypeException,EntryNotFoundException)
 mutlti class assignment operator
template<>
ConfigFile::Dataoperator= (char *const &t) throw (UnregisteredTypeException,InvalidTypeException,EntryNotFoundException)
template<>
ConfigFile::Dataoperator= (const char *const &t) throw (UnregisteredTypeException,InvalidTypeException,EntryNotFoundException)

Private Member Functions

 Data (const std::string &id, ConfigFile &cf)
 private constructor

Private Attributes

std::string id
 internal id (config.foo.bar)
ConfigFilecf
 parent config file

Friends

class ConfigFile
 for tight integration with parent ConfigFile class

Detailed Description

Data- type used for the []-operator of ConfigFile instances.

See also:
Data ConfigFile::operator[](const std::string &id)

Constructor & Destructor Documentation

icl::utils::ConfigFile::Data::Data ( const std::string &  id,
ConfigFile cf 
) [private]

private constructor


Member Function Documentation

template<class T >
T icl::utils::ConfigFile::Data::as ( ) const throw (InvalidTypeException,EntryNotFoundException) [inline]

explicit cast into given type

Sometimes, the implicit automatic cast is not allowed due to ambiguities

template<class T >
icl::utils::ConfigFile::Data::operator T ( ) const throw (InvalidTypeException,EntryNotFoundException) [inline]

automatic cast operator (lvalue type determines T)

This automatic cast automatically detects the destination (lvalue) type an calls the appropiate parse<T> function

Data& icl::utils::ConfigFile::Data::operator= ( const Data d) [inline]

special assignment for data instances

This does just copy the data-reference, not it's referenced value

template<class T >
Data& icl::utils::ConfigFile::Data::operator= ( const T &  t) throw (UnregisteredTypeException,InvalidTypeException,EntryNotFoundException) [inline]

mutlti class assignment operator

assigns a string representation of given T instance to the according ConfigFile Entry T to string conversion is performed using std::string utils str- function, which internally exploits the std::ostream operator<< for given T instance. If given type T is not registered, an UnregisteredTypeException is thrown

template<>
ConfigFile::Data& icl::utils::ConfigFile::Data::operator= ( char *const &  t) throw (UnregisteredTypeException,InvalidTypeException,EntryNotFoundException) [inline]
template<>
ConfigFile::Data& icl::utils::ConfigFile::Data::operator= ( const char *const &  t) throw (UnregisteredTypeException,InvalidTypeException,EntryNotFoundException) [inline]

Friends And Related Function Documentation

friend class ConfigFile [friend]

for tight integration with parent ConfigFile class


Member Data Documentation

parent config file

std::string icl::utils::ConfigFile::Data::id [private]

internal id (config.foo.bar)


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines