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

expander::expcmd_numvars< StringType > Class Template Reference

The class implementing the 'numvars' command. More...

#include <expandlib-cmd-numvars.h>

Inherits expander::expandcmd< StringType >< StringType >.

Inheritance diagram for expander::expcmd_numvars< StringType >:

Inheritance graph
Collaboration diagram for expander::expcmd_numvars< StringType >:

Collaboration graph
List of all members.

Public Methods

 expcmd_numvars (expandable< StringType > *const eobj)
 The constructor.

virtual void operator() (StringType &dest, const FParamVectorType &params, const FVarMapType &vars, ExpandResultsType &results) const
 Appends the outcome of the command to 'dest'.

void Register ()
 Registers this command with 'expobj'.


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).

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


Protected Attributes

expandable< StringType
> *const 
expobj
 A const pointer to the expander::expandable object this command belongs to.

const StringType cmdname
 A const string containing the name of this command.


Detailed Description

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

The class implementing the 'numvars' command.

Syntax:
#numvars(stringwithvars) Returns the number of vars in the string

Definition at line 48 of file expandlib-cmd-numvars.h.


Member Typedef Documentation

template<class StringType = ::std::string>
typedef ::std::map<StringType, ::expander::expandcmd<StringType>*> expander::expandcmd< StringType >::FCmdMapType [protected, inherited]
 

The type used for the map of commands (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 68 of file expandlib-cmd.h.

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

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 66 of file expandlib-cmd.h.

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

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 67 of file expandlib-cmd.h.


Constructor & Destructor Documentation

template<class StringType = ::std::string>
expander::expcmd_numvars< StringType >::expcmd_numvars expandable< StringType > *const    eobj [inline]
 

The constructor.

This constructor gets a pointer to an expander::expandable object and passes that, along with the name of the command, to the expander::expandcmd constructor.

Definition at line 55 of file expandlib-cmd-numvars.h.


Member Function Documentation

template<class StringType = ::std::string>
virtual void expander::expcmd_numvars< StringType >::operator() StringType &    dest,
const FParamVectorType   params,
const FVarMapType   vars,
ExpandResultsType   results
const [inline, virtual]
 

Appends the outcome of the command to 'dest'.

The () operator of a command will process the params (using the vars and keeping statistics in results) and APPEND the outcome to dest.

Implements expander::expandcmd< StringType >.

Definition at line 57 of file expandlib-cmd-numvars.h.

References expander::expandcmd< StringType >::expobj, and expander::expandresults::TotalVars().

template<class StringType = ::std::string>
void expander::expandcmd< StringType >::Register   [inline, inherited]
 

Registers this command with 'expobj'.

Register adds itself to the expandable::cmdmap in expobj. But since there are no expandcmd instances (it's an abstract class), this will only be done by derived classes (which fill cmdname and expobj through the constructor).

Definition at line 96 of file expandlib-cmd.h.

References expander::expandable< StringType >::cmdmap.


Member Data Documentation

template<class StringType = ::std::string>
const StringType expander::expandcmd< StringType >::cmdname [protected, inherited]
 

A const string containing the name of this command.

This string is used by expandcmd::Register and initialized by the constructor, which is called by the constructor of a derived class (which passes its name to this class, so expandcmd::cmdname contains the right name.

Definition at line 77 of file expandlib-cmd.h.

template<class StringType = ::std::string>
expandable<StringType>* const expander::expandcmd< StringType >::expobj [protected, inherited]
 

A const pointer to the expander::expandable object this command belongs to.

Definition at line 71 of file expandlib-cmd.h.

Referenced by expander::expcmd_upper< StringType >::operator()(), expander::expcmd_unknownvars< StringType >::operator()(), expander::expcmd_trim< StringType >::operator()(), expander::expcmd_rtrim< StringType >::operator()(), expander::expcmd_numvars< StringType >::operator()(), expander::expcmd_ltrim< StringType >::operator()(), expander::expcmd_lower< StringType >::operator()(), expander::expcmd_knownvars< StringType >::operator()(), expander::expcmd_if< StringType >::operator()(), expander::expcmd_ftrunc< StringType >::operator()(), expander::expcmd_fpad< StringType >::operator()(), expander::expcmd_btrunc< StringType >::operator()(), expander::expcmd_bpad< StringType >::operator()(), and expander::expcmd_abbr< StringType >::operator()().


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