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

expander::expcmd_ltrim< StringType > Class Template Reference

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

#include <expandlib-cmd-ltrim.h>

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

Inheritance diagram for expander::expcmd_ltrim< StringType >:

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

Collaboration graph
List of all members.

Public Methods

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

virtual void operator() (StringType &dest, const FParamVectorType &params, const FVarMapType &vars, ExpandResultsType &results) const
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_ltrim< StringType >

The class implementing the 'ltrim' command.

Syntax:
#ltrim(stringtotrim,charstotrim) Trims a string

Definition at line 46 of file expandlib-cmd-ltrim.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_ltrim< StringType >::expcmd_ltrim 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 53 of file expandlib-cmd-ltrim.h.


Member Function Documentation

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

Todo:
Write more optimal version

Implements expander::expandcmd< StringType >.

Definition at line 56 of file expandlib-cmd-ltrim.h.

References expander::expandcmd< StringType >::expobj.

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