Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion > Class Template Reference

a Query implementing a range: arguments must fall in a particular range of values. More...

`#include <RangeQuery.h>`

Inheritance diagram for Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >:

## Public Member Functions

| RangeQuery ()
| RangeQuery (MatchFuncArgType lower, MatchFuncArgType upper)
| construct and set the lower and upper bounds More...
void | setUpper (MatchFuncArgType what)
| sets our upper bound More...
const MatchFuncArgType | getUpper () const
| returns our upper bound More...
void | setLower (MatchFuncArgType what)
| sets our lower bound More...
const MatchFuncArgType | getLower () const
| returns our lower bound More...
void | setEndsOpen (bool lower, bool upper)
| sets whether or not the ends of the range are open More...
std::pair< bool, bool > | getEndsOpen () const
| returns the state of our ends (open or not) More...
void | setTol (MatchFuncArgType what)
| sets our tolerance More...
const MatchFuncArgType | getTol () const
| returns our tolerance More...
bool | Match (const DataFuncArgType what) const
| returns whether or not we match the argument More...
Query< MatchFuncArgType, DataFuncArgType, needsConversion > * | copy () const
| returns a copy of this Query More...
std::string | getFullDescription () const
| returns a fuller text description More...
Public Member Functions inherited from Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >
| Query ()
virtual | ~Query ()
void | setNegation (bool what)
| sets whether or not we are negated More...
bool | getNegation () const
| returns whether or not we are negated More...
void | setDescription (const std::string &descr)
| sets our text description More...
void | setDescription (const char *descr)
const std::string & | getDescription () const
| returns our text description More...
void | setMatchFunc (bool(*what)(MatchFuncArgType))
| sets our match function More...
void | setDataFunc (MatchFuncArgType(*what)(DataFuncArgType))
| sets our data function More...
void | addChild (CHILD_TYPE child)
| adds a child to our list of children More...
CHILD_VECT_CI | beginChildren () const
| returns an iterator for the beginning of our child vector More...
CHILD_VECT_CI | endChildren () const
| returns an iterator for the end of our child vector More...

## Protected Attributes

MatchFuncArgType | d_upper
MatchFuncArgType | d_lower
MatchFuncArgType | d_tol
bool | df_upperOpen
bool | df_lowerOpen
Protected Attributes inherited from Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >
std::string | d_description
CHILD_VECT | d_children
bool | df_negate
bool(* | d_matchFunc )(MatchFuncArgType)
MatchFuncArgType(* | d_dataFunc )(DataFuncArgType)

## Additional Inherited Members

Public Types inherited from Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >
typedef boost::shared_ptr< Query< MatchFuncArgType, DataFuncArgType, needsConversion > > | CHILD_TYPE
typedef std::vector< CHILD_TYPE > | CHILD_VECT
typedef CHILD_VECT::iterator | CHILD_VECT_I
typedef CHILD_VECT::const_iterator | CHILD_VECT_CI
Public Attributes inherited from Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >
bool(*)(MatchFuncArgType) | getMatchFunc () const
| returns our match function: More...
MatchFuncArgType(*)(DataFuncArgType) | getDataFunc () const
| returns our data function: More...
Protected Member Functions inherited from Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >
MatchFuncArgType | TypeConvert (MatchFuncArgType what, Int2Type< false >) const
| calls our `dataFunc` (if it's set) on `what` and returns the result, otherwise returns `what` More...
MatchFuncArgType | TypeConvert (DataFuncArgType what, Int2Type< true >) const
| calls our `dataFunc` (which must be set) on `what` and returns the result More...

## Detailed Description

### template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>
class Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >

a Query implementing a range: arguments must fall in a particular range of values.

The ends of the range default to be open, but they can individually set to be closed.

There is also an optional tolerance to be used in comparisons

Definition at line 26 of file RangeQuery.h.

## Constructor & Destructor Documentation

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::RangeQuery | ( |  | ) |

inline

Definition at line 30 of file RangeQuery.h.

References Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::df_negate.

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::RangeQuery | ( | MatchFuncArgType | lower,
|  | MatchFuncArgType | upper
| ) |  |

inline

construct and set the lower and upper bounds

Definition at line 34 of file RangeQuery.h.

References Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::df_negate.

## Member Function Documentation

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

Query<MatchFuncArgType,DataFuncArgType,needsConversion>* Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::copy | ( |  | ) | const

inline virtual

returns a copy of this Query

Notes:

- the caller is responsible for `delete`ing the result

Reimplemented from Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >.

Definition at line 78 of file RangeQuery.h.

References Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::d_dataFunc, Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::d_description, Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_lower, Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_tol, Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_upper, Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::df_lowerOpen, Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::df_upperOpen, Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::getNegation(), Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::setDataFunc(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::setEndsOpen(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::setLower(), Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::setNegation(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::setTol(), and Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::setUpper().

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

std::pair<bool,bool> Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::getEndsOpen | ( |  | ) | const

inline

returns the state of our ends (open or not)

Definition at line 53 of file RangeQuery.h.

References Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::df_lowerOpen, and Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::df_upperOpen.

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

std::string Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::getFullDescription | ( |  | ) | const

inline virtual

returns a fuller text description

Reimplemented from Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >.

Definition at line 92 of file RangeQuery.h.

References Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_lower, Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_upper, Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::getDescription(), and Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::getNegation().

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

const MatchFuncArgType Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::getLower | ( |  | ) | const

inline

returns our lower bound

Definition at line 45 of file RangeQuery.h.

References Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_lower.

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

const MatchFuncArgType Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::getTol | ( |  | ) | const

inline

returns our tolerance

Definition at line 60 of file RangeQuery.h.

References Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_tol.

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

const MatchFuncArgType Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::getUpper | ( |  | ) | const

inline

returns our upper bound

Definition at line 41 of file RangeQuery.h.

References Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_upper.

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

bool Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::Match | ( | const DataFuncArgType | arg | ) | const

inline virtual

returns whether or not we match the argument

Reimplemented from Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >.

Definition at line 62 of file RangeQuery.h.

References Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_lower, Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_tol, Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_upper, Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::df_lowerOpen, Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::df_upperOpen, Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::getNegation(), Queries::queryCmp(), and Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::TypeConvert().

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

void Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::setEndsOpen | ( | bool | lower,
|  | bool | upper
| ) |  |

inline

sets whether or not the ends of the range are open

Definition at line 48 of file RangeQuery.h.

References Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::df_lowerOpen, and Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::df_upperOpen.

Referenced by Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::copy().

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

void Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::setLower | ( | MatchFuncArgType | what | ) |

inline

sets our lower bound

Definition at line 43 of file RangeQuery.h.

References Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_lower.

Referenced by Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::copy().

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

void Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::setTol | ( | MatchFuncArgType | what | ) |

inline

sets our tolerance

Definition at line 58 of file RangeQuery.h.

References Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_tol.

Referenced by Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::copy().

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

void Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::setUpper | ( | MatchFuncArgType | what | ) |

inline

sets our upper bound

Definition at line 39 of file RangeQuery.h.

References Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_upper.

Referenced by Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::copy().

## Member Data Documentation

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

MatchFuncArgType Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_lower

protected

Definition at line 98 of file RangeQuery.h.

Referenced by Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::copy(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::getFullDescription(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::getLower(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::Match(), and Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::setLower().

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

MatchFuncArgType Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_tol

protected

Definition at line 102 of file RangeQuery.h.

Referenced by Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::copy(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::getTol(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::Match(), and Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::setTol().

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

MatchFuncArgType Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::d_upper

protected

Definition at line 98 of file RangeQuery.h.

Referenced by Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::copy(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::getFullDescription(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::getUpper(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::Match(), and Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::setUpper().

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

bool Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::df_lowerOpen

protected

Definition at line 103 of file RangeQuery.h.

Referenced by Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::copy(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::getEndsOpen(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::Match(), and Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::setEndsOpen().

template<class MatchFuncArgType, class DataFuncArgType = MatchFuncArgType, bool needsConversion = false>

bool Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::df_upperOpen

protected

Definition at line 103 of file RangeQuery.h.

Referenced by Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::copy(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::getEndsOpen(), Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::Match(), and Queries::RangeQuery< MatchFuncArgType, DataFuncArgType, needsConversion >::setEndsOpen().

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

- RangeQuery.h