Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

MemberAccessor< C, T > Class Template Reference

Class for storing and accessing member variable references. More...

#include <ObjectInterface.h>

Inheritance diagram for MemberAccessor< C, T >:

MemberAccessorBase List of all members.

Public Types

typedef HASH_MAPS< std::string,
MemberAccessorBase *, hashstring,
eqstring >::Type 
map

Public Methods

 MemberAccessor (T C::*pm, std::string name_, bool required_)
virtual TypeAdapter const get (Object *o) const throw (TypeMismatch)
virtual void set (Object *o, TypeAdapter const &v) throw (TypeMismatch)
virtual void pack (Object *o, Packer &p) const
virtual void unpack (Object *o, UnPacker &p)
virtual void push_back (Object *, TypeAdapter const &) throw (TypeMismatch)
virtual void clear (Object *) throw (TypeMismatch)
bool isRequired () const
std::string getName () const
std::string getType () const
virtual unsigned int getMask () const

Protected Methods

void setType (BaseType &x)
void setType (double &x)
void setType (float &x)
void setType (unsigned int &x)
void setType (int &x)
void setType (unsigned char &x)
void setType (char &x)
void setType (unsigned short &x)
void setType (short &x)
void setType (bool &x)
void setType (std::string const &x)

Protected Attributes

std::string name
std::string help
std::string type
bool required

Detailed Description

template<class C, typename T>
class MemberAccessor< C, T >

Class for storing and accessing member variable references.


Member Typedef Documentation

typedef HASH_MAPS<std::string, MemberAccessorBase *, hashstring, eqstring>::Type MemberAccessorBase::map [inherited]
 


Constructor & Destructor Documentation

template<class C, typename T>
MemberAccessor< C, T >::MemberAccessor T C::*    pm,
std::string    name_,
bool    required_
[inline]
 


Member Function Documentation

virtual void MemberAccessorBase::clear Object   throw (TypeMismatch) [inline, virtual, inherited]
 

Reimplemented in MemberAccessor< C, std::vector< T > >.

template<class C, typename T>
virtual TypeAdapter const MemberAccessor< C, T >::get Object   o const throw (TypeMismatch) [inline, virtual]
 

Reimplemented from MemberAccessorBase.

virtual unsigned int MemberAccessorBase::getMask   const [inline, virtual, inherited]
 

Reimplemented in MemberMaskAccessor< C, T >, MemberMaskAccessor< C, short >, MemberMaskAccessor< C, int >, and MemberMaskAccessor< C, char >.

std::string MemberAccessorBase::getName   const [inline, inherited]
 

std::string MemberAccessorBase::getType   const [inline, inherited]
 

bool MemberAccessorBase::isRequired   const [inline, inherited]
 

template<class C, typename T>
virtual void MemberAccessor< C, T >::pack Object   o,
Packer   p
const [inline, virtual]
 

Reimplemented from MemberAccessorBase.

virtual void MemberAccessorBase::push_back Object  ,
TypeAdapter const &   
throw (TypeMismatch) [inline, virtual, inherited]
 

Reimplemented in MemberAccessor< C, std::vector< T > >.

template<class C, typename T>
virtual void MemberAccessor< C, T >::set Object   o,
TypeAdapter const &    v
throw (TypeMismatch) [inline, virtual]
 

Reimplemented from MemberAccessorBase.

void MemberAccessorBase::setType std::string const &    x [inline, protected, inherited]
 

void MemberAccessorBase::setType bool &    x [inline, protected, inherited]
 

void MemberAccessorBase::setType short &    x [inline, protected, inherited]
 

void MemberAccessorBase::setType unsigned short &    x [inline, protected, inherited]
 

void MemberAccessorBase::setType char &    x [inline, protected, inherited]
 

void MemberAccessorBase::setType unsigned char &    x [inline, protected, inherited]
 

void MemberAccessorBase::setType int &    x [inline, protected, inherited]
 

void MemberAccessorBase::setType unsigned int &    x [inline, protected, inherited]
 

void MemberAccessorBase::setType float &    x [inline, protected, inherited]
 

void MemberAccessorBase::setType double &    x [inline, protected, inherited]
 

void MemberAccessorBase::setType BaseType   x [inline, protected, inherited]
 

template<class C, typename T>
virtual void MemberAccessor< C, T >::unpack Object   o,
UnPacker   p
[inline, virtual]
 

Reimplemented from MemberAccessorBase.


Member Data Documentation

std::string MemberAccessorBase::help [protected, inherited]
 

std::string MemberAccessorBase::name [protected, inherited]
 

bool MemberAccessorBase::required [protected, inherited]
 

std::string MemberAccessorBase::type [protected, inherited]
 


The documentation for this class was generated from the following file:
SimData version pre-0.4.0. For more information on SimData, visit the SimData Homepage.

Generated on Tue Oct 14 12:06:41 2003, using Doxygen 1.2.18.

[SF.net]