Public Member Functions | Private Member Functions

Selector< T > Class Template Reference

interface for classes that select on basis of a key. More...

Inheritance diagram for Selector< T >:
ArraySelector< T > RangeSelector< T > SingleSelector< T >

List of all members.

Public Member Functions

virtual ~Selector ()
virtual const char * selectorType () const =0
virtual bool isOK () const
bool isEqual (const Selector< T > &s) const
virtual Selector< T > * clone () const =0
virtual bool includes (const T &) const =0
virtual bool canDoRange () const
virtual char includesRange (const T &start, const T &stop) const
virtual bool include (const T &, const char *=0)

Private Member Functions

virtual bool isEq (const Selector< T > &) const =0

Detailed Description

template<class T>
class Selector< T >

interface for classes that select on basis of a key.

Some Selectors may be extensible: you can ask them to include a key value.


Constructor & Destructor Documentation

template<class T>
virtual Selector< T >::~Selector (  )  [inline, virtual]

Member Function Documentation

template<class T>
virtual bool Selector< T >::canDoRange (  )  const [inline, virtual]

Reimplemented in SingleSelector< T >.

template<class T>
virtual Selector<T>* Selector< T >::clone (  )  const [pure virtual]
template<class T>
virtual bool Selector< T >::include ( const T &  ,
const char *  = 0 
) [inline, virtual]

Reimplemented in SingleSelector< T >, and RangeSelector< T >.

template<class T>
virtual bool Selector< T >::includes ( const T &   )  const [pure virtual]
template<class T>
virtual char Selector< T >::includesRange ( const T &  start,
const T &  stop 
) const [inline, virtual]
Return values:
0 not at all
1 partly
2 completely

Reimplemented in SingleSelector< T >.

template<class T>
virtual bool Selector< T >::isEq ( const Selector< T > &   )  const [private, pure virtual]
template<class T>
bool Selector< T >::isEqual ( const Selector< T > &  s  )  const [inline]
template<class T>
virtual bool Selector< T >::isOK (  )  const [inline, virtual]
template<class T>
virtual const char* Selector< T >::selectorType (  )  const [pure virtual]