Reference documentation for deal.II version 9.1.0-pre
Public Member Functions | List of all members
FilteredIterator< BaseIterator >::PredicateBase Class Referenceabstract
Inheritance diagram for FilteredIterator< BaseIterator >::PredicateBase:
[legend]

Public Member Functions

virtual ~PredicateBase ()=default
 
virtual bool operator() (const BaseIterator &bi) const =0
 
virtual std::unique_ptr< PredicateBaseclone () const =0
 

Detailed Description

template<typename BaseIterator>
class FilteredIterator< BaseIterator >::PredicateBase

Base class to encapsulate a predicate object. Since predicates can be of different types and we do not want to code these types into the template parameter list of the filtered iterator class, we use a base class with an abstract function and templatized derived classes that implement the use of actual predicate types through the virtual function.

Definition at line 716 of file filtered_iterator.h.

Constructor & Destructor Documentation

template<typename BaseIterator>
virtual FilteredIterator< BaseIterator >::PredicateBase::~PredicateBase ( )
virtualdefault

Mark the destructor virtual to allow destruction through pointers to the base class.

Member Function Documentation

template<typename BaseIterator>
virtual bool FilteredIterator< BaseIterator >::PredicateBase::operator() ( const BaseIterator &  bi) const
pure virtual

Abstract function which in derived classes denotes the evaluation of the predicate on the given iterator.

Implemented in FilteredIterator< BaseIterator >::PredicateTemplate< Predicate >.

template<typename BaseIterator>
virtual std::unique_ptr<PredicateBase> FilteredIterator< BaseIterator >::PredicateBase::clone ( ) const
pure virtual

Generate a copy of this object, i.e. of the actual type of this pointer.

Implemented in FilteredIterator< BaseIterator >::PredicateTemplate< Predicate >.


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