Main Page   Class Hierarchy   Compound List   File List   Compound Members  

SOME::ObjectBase Template Class Reference

ObjectBase is a abstract base class for creating and using classes defined within the plugin library. More...

#include <SOMEObject.h>

Inheritance diagram for SOME::ObjectBase:

SOME::Object SOME::SmartObject List of all members.

Public Methods

 ObjectBase (const SOME::ClassCatalog& cat)
 Create a Object which will hold an object of the class represented by the SOME::ClassCatalog when construct is called. More...

virtual ~ObjectBase ()
 virtual destructor. More...

bool construct ()
 Calls the default constructor for the plugin class. More...

template<typenameParamType1> bool construct<ParamType1> (ParamType1& a)
 Calls the one parameter constructor for the plugin class. More...

template<typenameParamType1, typenameParamType2> bool construct<ParamType1, ParamType2> (ParamType1& a, ParamType2& b)
 Calls the two parameter constructor for the plugin class. More...

bool isNull ()
 Returns true if this object holds a null pointer. More...

const SOME::ClassCataloggetClassCatalog () const
 A function for returning the SOME::ClassInfo the object is based off of. More...

BaseClass& operator * () const
BaseClass* operator-> () const
virtual BaseClass* get () const = 0

Detailed Description

template<typename BaseClass> template class SOME::ObjectBase

ObjectBase is a abstract base class for creating and using classes defined within the plugin library.

It is instanciated with your plugin's base class and the ClassInfo for the plugin. The construct members are used to call the constructor for the plugin class. ObjectBase overloads all operators necessary for it to work exactly as a pointer to the BaseClass. Object and SmartObject are the default provided derived classes to use. Note that ClassCatalog also has the ability to provide raw pointers to objects.

Definition at line 49 of file SOMEObject.h.


Constructor & Destructor Documentation

template<typenameBaseClass>
SOME::ObjectBase<BaseClass>::ObjectBase<BaseClass> ( const SOME::ClassCatalog & cat )
 

Create a Object which will hold an object of the class represented by the SOME::ClassCatalog when construct is called.

Definition at line 57 of file SOMEObject.h.

template<typenameBaseClass>
SOME::ObjectBase<BaseClass>::~ObjectBase<BaseClass> ( ) [inline, virtual]
 

virtual destructor.

Definition at line 64 of file SOMEObject.h.


Member Function Documentation

template<typenameBaseClass>
template<typenameParamType1, typenameParamType2>
bool SOME::ObjectBase<BaseClass>::construct ( ParamType1 & a,
ParamType2 & b ) [inline]
 

Calls the two parameter constructor for the plugin class.

Definition at line 105 of file SOMEObject.h.

template<typenameBaseClass>
template<typenameParamType1>
bool SOME::ObjectBase<BaseClass>::construct ( ParamType1 & a ) [inline]
 

Calls the one parameter constructor for the plugin class.

Definition at line 88 of file SOMEObject.h.

template<typenameBaseClass>
bool SOME::ObjectBase<BaseClass>::construct ( ) [inline]
 

Calls the default constructor for the plugin class.

Definition at line 71 of file SOMEObject.h.

template<typenameBaseClass>
const SOME::ClassCatalog & SOME::ObjectBase<BaseClass>::getClassCatalog ( ) const [inline]
 

A function for returning the SOME::ClassInfo the object is based off of.

Definition at line 124 of file SOMEObject.h.

template<typenameBaseClass>
bool SOME::ObjectBase<BaseClass>::isNull ( ) [inline]
 

Returns true if this object holds a null pointer.

Definition at line 118 of file SOMEObject.h.

template<typenameBaseClass>
BaseClass & SOME::ObjectBase<BaseClass>::operator * ( ) const [inline]
 

Definition at line 130 of file SOMEObject.h.

template<typenameBaseClass>
BaseClass * SOME::ObjectBase<BaseClass>::operator-> ( ) const [inline]
 

Definition at line 134 of file SOMEObject.h.


The documentation for this class was generated from the following file:
Generated at Fri Dec 8 14:24:48 2000 for SOMELib by doxygen1.2.1 written by Dimitri van Heesch, © 1997-2000