Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

plist::Primitive< T > Class Template Reference

#include <plistPrimitives.h>

Inheritance diagram for plist::Primitive< T >:

List of all members.


Detailed Description

template<typename T>
class plist::Primitive< T >

Implements type-specific functionality through template specialization, mainly involving value conversion and stringification formatting

Provides smart-pointer style functionality for transparent access to the value storage, as well as automatic casting to and from the value type so you can almost always treat the Primitive as if it was the value itself.

Definition at line 55 of file plistPrimitives.h.


Public Member Functions

 Primitive ()
 constructor
 Primitive (const T &v)
 copy constructor, automatic conversion from value type
Primitiveoperator= (const T &v)
 assignment from value type (template specializations add in-place modiciation (e.g. +=, *=))
virtual Primitiveoperator= (const PrimitiveBase &pb)
 assignment (don't assign listeners); doesn't trigger fireValueChanged, subclass should do that from its own operator=() following assignment
Primitiveoperator= (const Primitive &p)
 assignment from primitive of the same type (just assign value)
Primitiveoperator+= (const T &v)
 add in-place
Primitiveoperator-= (const T &v)
 subtract in-place
Primitiveoperator *= (const T &v)
 multiply in-place
Primitiveoperator/= (const T &v)
 divide in-place
const T & operator * () const
 smart pointer, dereference to access primitive storage
const T * operator-> () const
 smart pointer, dereference to access primitive storage
 operator T () const
 cast operator to automatically convert to value type
void loadXML (xmlNode *node)
 interprets node as holding the specialization type
void saveXML (xmlNode *node) const
 saves val into node
void set (const std::string &str)
 assign a new value
std::string get () const
 return current value as a string
virtual long toLong () const
 return current value as an (long) integer (throws std::runtime_error exception if incompatable, e.g. dictionary or array to value type)
virtual double toDouble () const
 return current value as a double (throws std::runtime_error exception if incompatable, e.g. dictionary or array to value type)
virtual Primitive< T > * clone () const __attribute__((warn_unused_result))
 clone definition for Primitive<T>
const T & getPreviousValue () const
 returns the previously assigned value

Protected Attributes

val
 storage of primitive value
prevVal
 following each assignment, this is the "old" value -- very handy for PrimitiveListeners

Classes

struct  conversion_policy

Constructor & Destructor Documentation

template<typename T>
plist::Primitive< T >::Primitive (  )  [inline]

constructor

Definition at line 60 of file plistPrimitives.h.

template<typename T>
plist::Primitive< T >::Primitive ( const T &  v  )  [inline]

copy constructor, automatic conversion from value type

Definition at line 62 of file plistPrimitives.h.


Member Function Documentation

template<typename T>
Primitive& plist::Primitive< T >::operator= ( const T &  v  )  [inline]

template<typename T>
virtual Primitive& plist::Primitive< T >::operator= ( const PrimitiveBase pb  )  [inline, virtual]

assignment (don't assign listeners); doesn't trigger fireValueChanged, subclass should do that from its own operator=() following assignment

Reimplemented from plist::PrimitiveBase.

Definition at line 65 of file plistPrimitives.h.

template<typename T>
Primitive& plist::Primitive< T >::operator= ( const Primitive< T > &  p  )  [inline]

assignment from primitive of the same type (just assign value)

Definition at line 67 of file plistPrimitives.h.

template<typename T>
Primitive& plist::Primitive< T >::operator+= ( const T &  v  )  [inline]

add in-place

Definition at line 69 of file plistPrimitives.h.

template<typename T>
Primitive& plist::Primitive< T >::operator-= ( const T &  v  )  [inline]

subtract in-place

Definition at line 70 of file plistPrimitives.h.

template<typename T>
Primitive& plist::Primitive< T >::operator *= ( const T &  v  )  [inline]

multiply in-place

Definition at line 71 of file plistPrimitives.h.

template<typename T>
Primitive& plist::Primitive< T >::operator/= ( const T &  v  )  [inline]

divide in-place

Definition at line 72 of file plistPrimitives.h.

template<typename T>
const T& plist::Primitive< T >::operator * (  )  const [inline]

smart pointer, dereference to access primitive storage

Definition at line 75 of file plistPrimitives.h.

template<typename T>
const T* plist::Primitive< T >::operator-> (  )  const [inline]

smart pointer, dereference to access primitive storage

Definition at line 77 of file plistPrimitives.h.

template<typename T>
plist::Primitive< T >::operator T (  )  const [inline]

cast operator to automatically convert to value type

Definition at line 80 of file plistPrimitives.h.

template<typename T>
void plist::Primitive< T >::loadXML ( xmlNode node  )  [inline, virtual]

interprets node as holding the specialization type

Reimplemented from plist::ObjectBase.

Definition at line 108 of file plistPrimitives.h.

template<typename T>
void plist::Primitive< T >::saveXML ( xmlNode node  )  const [inline, virtual]

saves val into node

Implements plist::ObjectBase.

Definition at line 134 of file plistPrimitives.h.

template<typename T>
void plist::Primitive< T >::set ( const std::string &  str  )  [inline, virtual]

assign a new value

Implements plist::PrimitiveBase.

Definition at line 143 of file plistPrimitives.h.

Referenced by Config::setValue().

template<typename T>
std::string plist::Primitive< T >::get (  )  const [inline, virtual]

return current value as a string

Implements plist::PrimitiveBase.

Definition at line 88 of file plistPrimitives.h.

template<typename T>
virtual long plist::Primitive< T >::toLong (  )  const [inline, virtual]

return current value as an (long) integer (throws std::runtime_error exception if incompatable, e.g. dictionary or array to value type)

Implements plist::ObjectBase.

Definition at line 94 of file plistPrimitives.h.

template<typename T>
virtual double plist::Primitive< T >::toDouble (  )  const [inline, virtual]

return current value as a double (throws std::runtime_error exception if incompatable, e.g. dictionary or array to value type)

Implements plist::ObjectBase.

Definition at line 95 of file plistPrimitives.h.

template<typename T>
Primitive< T > * plist::Primitive< T >::clone (  )  const [inline, virtual]

clone definition for Primitive<T>

implements the clone function for Primitive<T>

Implements plist::ObjectBase.

Definition at line 170 of file plistPrimitives.h.

template<typename T>
const T& plist::Primitive< T >::getPreviousValue (  )  const [inline]

returns the previously assigned value

Definition at line 100 of file plistPrimitives.h.


Member Data Documentation

template<typename T>
T plist::Primitive< T >::val [protected]

storage of primitive value

Definition at line 103 of file plistPrimitives.h.

Referenced by plist::NamedEnumeration< Config::vision_config::gain_levels >::get(), plist::Primitive< unsigned char >::get(), plist::Primitive< char >::get(), plist::Primitive< bool >::get(), plist::Primitive< T >::loadXML(), plist::Primitive< unsigned char >::loadXML(), plist::Primitive< char >::loadXML(), plist::Primitive< bool >::loadXML(), plist::NamedEnumeration< Config::vision_config::gain_levels >::operator *(), plist::Primitive< unsigned char >::operator *(), plist::Primitive< char >::operator *(), plist::Primitive< bool >::operator *(), plist::Primitive< unsigned char >::operator *=(), plist::Primitive< char >::operator *=(), plist::Primitive< bool >::operator *=(), plist::Primitive< char >::operator char(), plist::NamedEnumeration< T >::operator T(), plist::Primitive< unsigned char >::operator unsigned char(), plist::Primitive< unsigned int >::operator unsigned int(), plist::Primitive< unsigned char >::operator+=(), plist::Primitive< char >::operator+=(), plist::Primitive< bool >::operator+=(), plist::Primitive< unsigned char >::operator-=(), plist::Primitive< char >::operator-=(), plist::Primitive< bool >::operator-=(), plist::Primitive< unsigned char >::operator->(), plist::Primitive< char >::operator->(), plist::Primitive< bool >::operator->(), plist::Primitive< unsigned char >::operator/=(), plist::Primitive< char >::operator/=(), plist::Primitive< bool >::operator/=(), plist::NamedEnumeration< Config::vision_config::gain_levels >::operator=(), plist::Primitive< unsigned char >::operator=(), plist::Primitive< char >::operator=(), plist::Primitive< bool >::operator=(), plist::NamedEnumeration< Config::vision_config::gain_levels >::saveXML(), plist::Primitive< T >::saveXML(), plist::Primitive< unsigned char >::saveXML(), plist::Primitive< char >::saveXML(), plist::Primitive< bool >::saveXML(), plist::NamedEnumeration< Config::vision_config::gain_levels >::set(), plist::Primitive< T >::set(), plist::Primitive< unsigned char >::set(), plist::Primitive< char >::set(), plist::Primitive< bool >::set(), plist::NamedEnumeration< Config::vision_config::gain_levels >::toDouble(), plist::Primitive< unsigned char >::toDouble(), plist::Primitive< char >::toDouble(), plist::Primitive< bool >::toDouble(), plist::NamedEnumeration< Config::vision_config::gain_levels >::toLong(), plist::Primitive< unsigned char >::toLong(), plist::Primitive< char >::toLong(), and plist::Primitive< bool >::toLong().

template<typename T>
T plist::Primitive< T >::prevVal [protected]

following each assignment, this is the "old" value -- very handy for PrimitiveListeners

Definition at line 104 of file plistPrimitives.h.

Referenced by plist::NamedEnumeration< Config::vision_config::gain_levels >::getPreviousValue(), plist::Primitive< std::string >::getPreviousValue(), plist::Primitive< unsigned char >::getPreviousValue(), plist::Primitive< char >::getPreviousValue(), plist::Primitive< bool >::getPreviousValue(), plist::Primitive< T >::loadXML(), plist::Primitive< unsigned char >::loadXML(), plist::Primitive< char >::loadXML(), plist::Primitive< bool >::loadXML(), plist::Primitive< unsigned char >::operator *=(), plist::Primitive< char >::operator *=(), plist::Primitive< bool >::operator *=(), plist::Primitive< unsigned char >::operator+=(), plist::Primitive< char >::operator+=(), plist::Primitive< bool >::operator+=(), plist::Primitive< unsigned char >::operator-=(), plist::Primitive< char >::operator-=(), plist::Primitive< bool >::operator-=(), plist::Primitive< unsigned char >::operator/=(), plist::Primitive< char >::operator/=(), plist::Primitive< bool >::operator/=(), plist::NamedEnumeration< Config::vision_config::gain_levels >::operator=(), plist::Primitive< std::string >::operator=(), plist::Primitive< unsigned char >::operator=(), plist::Primitive< char >::operator=(), plist::Primitive< bool >::operator=(), plist::NamedEnumeration< Config::vision_config::gain_levels >::set(), plist::Primitive< T >::set(), plist::Primitive< unsigned char >::set(), plist::Primitive< char >::set(), and plist::Primitive< bool >::set().


The documentation for this class was generated from the following file:

Tekkotsu v4.0
Generated Thu Nov 22 00:58:56 2007 by Doxygen 1.5.4