Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

TypeBasedDispatch Class Reference

Keep a table of values indexed by metaclass name. More...

List of all members.


Public Members

TypeBasedDispatch ()
void set_value (const LString &index, T val)
Set a value for a metaclass Once a lookup_value is called, using this function is illegal.

T lookup_value (SuifObject *x)
find the appropriate T for this SuifObject If the object does not have an entry, get the value for it's metaclass. More...

T get_value (SuifObject *x) const
Get the value for this object, if there is none, return NULL.


Detailed Description

template<class T> class TypeBasedDispatch

Keep a table of values indexed by metaclass name.

The table must be completely initialized before looking up values.

Used by the Group walker to choose the appropriate walker to call. A GroupWalker allows any of a group of nodes to be walked, each with its own apply operator.


Member Function Documentation

template<class T>
TypeBasedDispatch<T>::TypeBasedDispatch<T> ()

template<class T>
void TypeBasedDispatch<T>::set_value (const LString & index, T val)

Set a value for a metaclass Once a lookup_value is called, using this function is illegal.

template<class T>
T TypeBasedDispatch<T>::lookup_value (SuifObject * x)

find the appropriate T for this SuifObject If the object does not have an entry, get the value for it's metaclass.

Once this method is called, it is illegal to call put_value() again

template<class T>
T TypeBasedDispatch<T>::get_value (SuifObject * x) const

Get the value for this object, if there is none, return NULL.


The documentation for this class was generated from the following file:
Generated at Wed Apr 25 17:35:08 2001 for NCI SUIF by doxygen  written by Dimitri van Heesch, © 1997-1999