Public Member Functions | |
PredicateTemplate (const Predicate &predicate) | |
virtual bool | operator() (const BaseIterator &bi) const |
virtual PredicateBase * | clone () const |
Private Attributes | |
const Predicate | predicate |
Actual implementation of the above abstract base class. Use a template parameter to denote the actual type of the predicate and store a copy of it. When the virtual function is called evaluate the given iterator with the stored copy of the predicate.
FilteredIterator< BaseIterator >::PredicateTemplate< Predicate >::PredicateTemplate | ( | const Predicate & | predicate | ) | [inline] |
Constructor. Take a predicate and store a copy of it.
Referenced by FilteredIterator< BaseIterator >::PredicateTemplate< Predicate >::clone().
bool FilteredIterator< BaseIterator >::PredicateTemplate< Predicate >::operator() | ( | const BaseIterator & | bi | ) | const [inline, virtual] |
Evaluate the iterator with the stored copy of the predicate.
Implements FilteredIterator< BaseIterator >::PredicateBase.
References FilteredIterator< BaseIterator >::PredicateTemplate< Predicate >::predicate.
FilteredIterator< BaseIterator >::PredicateBase * FilteredIterator< BaseIterator >::PredicateTemplate< Predicate >::clone | ( | ) | const [inline, virtual] |
Generate a copy of this object, i.e. of the actual type of this pointer.
Implements FilteredIterator< BaseIterator >::PredicateBase.
References FilteredIterator< BaseIterator >::PredicateTemplate< Predicate >::predicate, and FilteredIterator< BaseIterator >::PredicateTemplate< Predicate >::PredicateTemplate().
const Predicate FilteredIterator< BaseIterator >::PredicateTemplate< Predicate >::predicate [private] |
Copy of the predicate.
Referenced by FilteredIterator< BaseIterator >::PredicateTemplate< Predicate >::clone(), and FilteredIterator< BaseIterator >::PredicateTemplate< Predicate >::operator()().