Image Component Library (ICL)
|
Data- type used for the []-operator of ConfigFile instances. More...
#include <ConfigFile.h>
Public Member Functions | |
template<class T > | |
operator T () const throw (InvalidTypeException,EntryNotFoundException) | |
automatic cast operator (lvalue type determines T) | |
template<class T > | |
T | as () const throw (InvalidTypeException,EntryNotFoundException) |
explicit cast into given type | |
Data & | operator= (const Data &d) |
special assignment for data instances | |
template<class T > | |
Data & | operator= (const T &t) throw (UnregisteredTypeException,InvalidTypeException,EntryNotFoundException) |
mutlti class assignment operator | |
template<> | |
ConfigFile::Data & | operator= (char *const &t) throw (UnregisteredTypeException,InvalidTypeException,EntryNotFoundException) |
template<> | |
ConfigFile::Data & | operator= (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) | |
ConfigFile * | cf |
parent config file | |
Friends | |
class | ConfigFile |
for tight integration with parent ConfigFile class |
Data- type used for the []-operator of ConfigFile instances.
icl::utils::ConfigFile::Data::Data | ( | const std::string & | id, |
ConfigFile & | cf | ||
) | [private] |
private constructor
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
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
special assignment for data instances
This does just copy the data-reference, not it's referenced value
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
ConfigFile::Data& icl::utils::ConfigFile::Data::operator= | ( | char *const & | t | ) | throw (UnregisteredTypeException,InvalidTypeException,EntryNotFoundException) [inline] |
ConfigFile::Data& icl::utils::ConfigFile::Data::operator= | ( | const char *const & | t | ) | throw (UnregisteredTypeException,InvalidTypeException,EntryNotFoundException) [inline] |
friend class ConfigFile [friend] |
for tight integration with parent ConfigFile class
ConfigFile* icl::utils::ConfigFile::Data::cf [private] |
parent config file
std::string icl::utils::ConfigFile::Data::id [private] |
internal id (config.foo.bar)