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

expander::expandvartype< StringType > Class Template Reference

An abstract base class for the vartypes. More...

#include <expandlib-vartype.h>

Inherited by expander::expvartype_bool< StringType, DefaultValue >, expander::expvartype_date< StringType >, expander::expvartype_list< StringType, ItemType >, expander::expvartype_numeric< StringType, NumType, NumTraits >, expander::expvartype_text< StringType >, and expander::expvartype_time< StringType, NotimeMSValue >.

Inheritance diagram for expander::expandvartype< StringType >:

Inheritance graph
List of all members.

Public Methods

virtual void AppendValue (StringType &dest) const=0
 Appends the value of the var to a string.

virtual void AppendValue (StringType &dest, const FParamVectorType &params, const FVarMapType &vars, ExpandResultsType &results) const=0
 Appends the value of the var to a string, using params and rvars, putting any expanding results into results.

virtual void SetValue (const StringType &s)=0
 Sets this variable to the string specified.


Protected Types

typedef ::std::vector< StringType > FParamVectorType
 The type used for the parameter vectors (MSVC wouldn't allow me to use template arguments in these typedefs, or I don't know how it should be done).

typedef ::std::map< StringType,
::expander::expandvartype<
StringType > * > 
FVarMapType
 The type used for the map of variables (MSVC wouldn't allow me to use template arguments in these typedefs, or I don't know how it should be done).


Detailed Description

template<class StringType = ::std::string>
class expander::expandvartype< StringType >

An abstract base class for the vartypes.

This is the class all vartypes derive from.

Definition at line 50 of file expandlib-vartype.h.


Member Typedef Documentation

template<class StringType = ::std::string>
typedef ::std::vector<StringType> expander::expandvartype< StringType >::FParamVectorType [protected]
 

The type used for the parameter vectors (MSVC wouldn't allow me to use template arguments in these typedefs, or I don't know how it should be done).

Definition at line 52 of file expandlib-vartype.h.

Referenced by expander::expvartype_list< StringType, ItemType >::AppendValue().

template<class StringType = ::std::string>
typedef ::std::map<StringType, ::expander::expandvartype<StringType>*> expander::expandvartype< StringType >::FVarMapType [protected]
 

The type used for the map of variables (MSVC wouldn't allow me to use template arguments in these typedefs, or I don't know how it should be done).

Definition at line 53 of file expandlib-vartype.h.


Member Function Documentation

template<class StringType = ::std::string>
virtual void expander::expandvartype< StringType >::AppendValue StringType &    dest,
const FParamVectorType   params,
const FVarMapType   vars,
ExpandResultsType   results
const [pure virtual]
 

Appends the value of the var to a string, using params and rvars, putting any expanding results into results.

This is called directly from 'expandable<StringType>::expand', when a variable with parameters has been found.

Implemented in expander::expvartype_bool< StringType, DefaultValue >, expander::expvartype_date< StringType >, expander::expvartype_list< StringType, ItemType >, expander::expvartype_numeric< StringType, NumType, NumTraits >, expander::expvartype_text< StringType >, and expander::expvartype_time< StringType, NotimeMSValue >.

template<class StringType = ::std::string>
virtual void expander::expandvartype< StringType >::AppendValue StringType &    dest const [pure virtual]
 

Appends the value of the var to a string.

This is called by operator+=(StringType &s,::expander::expandvartype<StringType> *v), which is called by 'expandable<StringType>::expand' when a variable without parameters has been found.

Implemented in expander::expvartype_bool< StringType, DefaultValue >, expander::expvartype_date< StringType >, expander::expvartype_list< StringType, ItemType >, expander::expvartype_numeric< StringType, NumType, NumTraits >, expander::expvartype_text< StringType >, and expander::expvartype_time< StringType, NotimeMSValue >.

template<class StringType = ::std::string>
virtual void expander::expandvartype< StringType >::SetValue const StringType &    s [pure virtual]
 

Sets this variable to the string specified.

This isn't called from ExpandLib itself, but it can be used by other programs.

Implemented in expander::expvartype_bool< StringType, DefaultValue >, expander::expvartype_date< StringType >, expander::expvartype_list< StringType, ItemType >, expander::expvartype_numeric< StringType, NumType, NumTraits >, expander::expvartype_text< StringType >, and expander::expvartype_time< StringType, NotimeMSValue >.


The documentation for this class was generated from the following file:
Generated on Tue Feb 4 17:24:24 2003 for ExpandLib by doxygen1.3-rc2