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

expander::expvartype_date< StringType > Class Template Reference

The class that supplies the date vartype. More...

#include <expandlib-vartype-date.h>

Inherits expander::expandvartype< StringType >< StringType >.

Inheritance diagram for expander::expvartype_date< StringType >:

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

Collaboration graph
List of all members.

Public Methods

 expvartype_date (int y=0, int m=0, int d=0)
 Constructor with a parameter of type bool, inits the value to H:M:S.MS.

 expvartype_date (const _TCHAR *cs)
 Constructor with a C-style string as parameter, inits the value to 'cs' (converted).

 expvartype_date (const StringType s)
 Constructor with a string as parameter, inits the value to 's' (converted).

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

virtual void AppendValue (StringType &dest, const FParamVectorType &params, const FVarMapType &vars, ExpandResultsType &results) const
 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)
 Sets this variable to the string specified.

StringType get_string ()
 Returns date as a string.


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


Protected Methods

StringType PadWithZeroes (const StringType &s, const unsigned int num) const
 Returns s, padded with zeroes from the left.

void PadWithZeroesTo (StringType &d, const StringType &s, const unsigned int num) const
 Pads s from the left (with zeroes), result goes into d.


Protected Attributes

expander::expvartype_date::DateType Date
 Used to hold the date.


Detailed Description

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

The class that supplies the date vartype.

This class can be used in the program using ExpandLib for date variables.

Todo:
Make it possible to define the way the date is formatted, using parameters

Definition at line 49 of file expandlib-vartype-date.h.


Member Typedef Documentation

template<class StringType = ::std::string>
typedef ::std::vector<StringType> expander::expandvartype< 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 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, 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 53 of file expandlib-vartype.h.


Constructor & Destructor Documentation

template<class StringType = ::std::string>
expander::expvartype_date< StringType >::expvartype_date int    y = 0,
int    m = 0,
int    d = 0
[inline]
 

Constructor with a parameter of type bool, inits the value to H:M:S.MS.

Definition at line 94 of file expandlib-vartype-date.h.

template<class StringType = ::std::string>
expander::expvartype_date< StringType >::expvartype_date const _TCHAR *    cs [inline]
 

Constructor with a C-style string as parameter, inits the value to 'cs' (converted).

Definition at line 97 of file expandlib-vartype-date.h.

References expander::expvartype_date< StringType >::SetValue().

template<class StringType = ::std::string>
expander::expvartype_date< StringType >::expvartype_date const StringType    s [inline]
 

Constructor with a string as parameter, inits the value to 's' (converted).

Definition at line 103 of file expandlib-vartype-date.h.

References expander::expvartype_date< StringType >::SetValue().


Member Function Documentation

template<class StringType = ::std::string>
virtual void expander::expvartype_date< StringType >::AppendValue StringType &    dest,
const FParamVectorType   params,
const FVarMapType   vars,
ExpandResultsType   results
const [inline, 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.

Implements expander::expandvartype< StringType >.

Definition at line 127 of file expandlib-vartype-date.h.

References expander::expvartype_date< StringType >::AppendValue().

template<class StringType = ::std::string>
virtual void expander::expvartype_date< StringType >::AppendValue StringType &    dest const [inline, 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.

Implements expander::expandvartype< StringType >.

Definition at line 107 of file expandlib-vartype-date.h.

References expander::expvartype_date< StringType >::Date, expander::expvartype_date< StringType >::DateType::day, expander::expvartype_date< StringType >::DateType::month, expander::expvartype_date< StringType >::PadWithZeroesTo(), and expander::expvartype_date< StringType >::DateType::year.

Referenced by expander::expvartype_date< StringType >::AppendValue(), and expander::expvartype_date< StringType >::get_string().

template<class StringType = ::std::string>
StringType expander::expvartype_date< StringType >::get_string   [inline]
 

Returns date as a string.

Definition at line 168 of file expandlib-vartype-date.h.

References expander::expvartype_date< StringType >::AppendValue().

template<class StringType = ::std::string>
StringType expander::expvartype_date< StringType >::PadWithZeroes const StringType &    s,
const unsigned int    num
const [inline, protected]
 

Returns s, padded with zeroes from the left.

Definition at line 63 of file expandlib-vartype-date.h.

template<class StringType = ::std::string>
void expander::expvartype_date< StringType >::PadWithZeroesTo StringType &    d,
const StringType &    s,
const unsigned int    num
const [inline, protected]
 

Pads s from the left (with zeroes), result goes into d.

Definition at line 77 of file expandlib-vartype-date.h.

Referenced by expander::expvartype_date< StringType >::AppendValue().

template<class StringType = ::std::string>
virtual void expander::expvartype_date< StringType >::SetValue const StringType &    s [inline, virtual]
 

Sets this variable to the string specified.

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

Implements expander::expandvartype< StringType >.

Definition at line 131 of file expandlib-vartype-date.h.

References expander::expvartype_date< StringType >::Date, expander::expvartype_date< StringType >::DateType::day, expander::expvartype_date< StringType >::DateType::month, and expander::expvartype_date< StringType >::DateType::year.

Referenced by expander::expvartype_date< StringType >::expvartype_date().


Member Data Documentation

template<class StringType = ::std::string>
class expander::expvartype_date::DateType expander::expvartype_date< StringType >::Date [protected]
 

Used to hold the date.

Referenced by expander::expvartype_date< StringType >::AppendValue(), and expander::expvartype_date< StringType >::SetValue().


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