LILAC
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
vartype Class Reference

Interface class to signal that an object deals with typed variables. More...

#include <vartype.hpp>

Inheritance diagram for vartype:
Inheritance graph
[legend]

Public Member Functions

virtual const std::type_info & vtype () const =0
bool compare (const vartype *in) const
bool compare (const vartype &in) const
bool compare (const std::type_info &tinf)
template<typename T >
bool compare () const
template<typename T >
bool compare (const T &in) const
std::string vname () const
virtual const std::type_info & vtype_internal () const
bool compare_internal (const vartype *in) const
bool compare_internal (const vartype &in) const
bool compare_internal (const std::type_info &tinf)
template<typename T >
bool compare_internal () const
template<typename T >
bool compare_internal (const T &in) const
std::string vname_internal () const
virtual ~vartype ()

Detailed Description

Interface class to signal that an object deals with typed variables.

This class forces the children classes to implement this method. Since most of the classes in this program are abstract and untyped down until the very bottom of the tree, this effectively forces the typed classes to implement the function. This functionality could also be directly implemented in each of the children classes without dealing with an interface. However, this is clearer and more self documenting. In addition, if one needs to group objects only by type, this provides a powerful interface to do so.

Definition at line 32 of file vartype.hpp.

Constructor & Destructor Documentation

virtual vartype::~vartype ( )
inlinevirtual

Definition at line 83 of file vartype.hpp.

Member Function Documentation

bool vartype::compare ( const vartype in) const
inline

Definition at line 35 of file vartype.hpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool vartype::compare ( const vartype in) const
inline

Definition at line 38 of file vartype.hpp.

Here is the call graph for this function:

bool vartype::compare ( const std::type_info &  tinf)
inline

Definition at line 41 of file vartype.hpp.

Here is the call graph for this function:

template<typename T >
bool vartype::compare ( ) const
inline

Definition at line 44 of file vartype.hpp.

Here is the call graph for this function:

template<typename T >
bool vartype::compare ( const T &  in) const
inline

Definition at line 47 of file vartype.hpp.

Here is the call graph for this function:

bool vartype::compare_internal ( const vartype in) const
inline

Definition at line 62 of file vartype.hpp.

Here is the call graph for this function:

bool vartype::compare_internal ( const vartype in) const
inline

Definition at line 65 of file vartype.hpp.

Here is the call graph for this function:

bool vartype::compare_internal ( const std::type_info &  tinf)
inline

Definition at line 68 of file vartype.hpp.

Here is the call graph for this function:

template<typename T >
bool vartype::compare_internal ( ) const
inline

Definition at line 71 of file vartype.hpp.

Here is the call graph for this function:

template<typename T >
bool vartype::compare_internal ( const T &  in) const
inline

Definition at line 74 of file vartype.hpp.

Here is the call graph for this function:

std::string vartype::vname ( ) const
inline

Definition at line 52 of file vartype.hpp.

Here is the call graph for this function:

Here is the caller graph for this function:

std::string vartype::vname_internal ( ) const
inline

Definition at line 79 of file vartype.hpp.

Here is the call graph for this function:

virtual const std::type_info& vartype::vtype ( ) const
pure virtual
virtual const std::type_info& vartype::vtype_internal ( ) const
inlinevirtual

Definition at line 59 of file vartype.hpp.

Here is the call graph for this function:

Here is the caller graph for this function:


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