Ares
Public Member Functions | Protected Attributes

ValueableIdx< T, Lookuper > Class Template Reference

#include <src/Utilities/Template.h>

Inheritance diagram for ValueableIdx< T, Lookuper >:
CustomizableIdx< T, Lookuper >

List of all members.

Public Member Functions

 ValueableIdx (T Default)
 operator T () const
 operator T * ()
T * operator& ()
virtual T Get () const
virtual void Set (T val)
virtual T * GetEx ()
virtual void SetEx (T *val)
void Read (INI_EX *parser, const char *pSection, const char *pKey)

Protected Attributes

Value

template<typename T, typename Lookuper>
class ValueableIdx< T, Lookuper >


Constructor & Destructor Documentation

template<typename T, typename Lookuper>
ValueableIdx< T, Lookuper >::ValueableIdx ( Default) [inline]
: Value(Default) {};

Member Function Documentation

template<typename T, typename Lookuper>
virtual T ValueableIdx< T, Lookuper >::Get ( ) const [inline, virtual]

Reimplemented in CustomizableIdx< T, Lookuper >, and CustomizableIdx< int, VocClass >.

                              {
                return this->Value;
        }
template<typename T, typename Lookuper>
virtual T* ValueableIdx< T, Lookuper >::GetEx ( ) [inline, virtual]

Reimplemented in CustomizableIdx< T, Lookuper >, and CustomizableIdx< int, VocClass >.

                           {
                return &this->Value;
        }
template<typename T, typename Lookuper>
ValueableIdx< T, Lookuper >::operator T ( ) const [inline]
                            {
                return this->Get();
        }
template<typename T, typename Lookuper>
ValueableIdx< T, Lookuper >::operator T * ( ) [inline]
                       {
                return this->GetEx();
        }
template<typename T, typename Lookuper>
T* ValueableIdx< T, Lookuper >::operator& ( ) [inline]
                         {
                return this->GetEx();
        }
template<typename T, typename Lookuper>
void ValueableIdx< T, Lookuper >::Read ( INI_EX parser,
const char *  pSection,
const char *  pKey 
) [inline]
                                                                          {
                if(parser->ReadString(pSection, pKey)) {
                        const char * val = parser->value();
                        int idx = Lookuper::FindIndex(val);
                        if(idx != -1) {
                                this->Set(idx);
                        } else {
                                if(_strcmpi(val, "<none>") && _strcmpi(val, "none")) {
                                        Debug::INIParseFailed(pSection, pKey, val);
                                } else {
                                        this->Set(idx);
                                }
                        }
                }
        }
template<typename T, typename Lookuper>
virtual void ValueableIdx< T, Lookuper >::Set ( val) [inline, virtual]
template<typename T, typename Lookuper>
virtual void ValueableIdx< T, Lookuper >::SetEx ( T *  val) [inline, virtual]

Reimplemented in CustomizableIdx< T, Lookuper >, and CustomizableIdx< int, VocClass >.

                                   {
                this->Value = *val;
        }

Member Data Documentation

template<typename T, typename Lookuper>
T ValueableIdx< T, Lookuper >::Value [protected]

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