Teuchos - Trilinos Tools Package Version of the Day
Loading...
Searching...
No Matches
Teuchos::FilteredIterator< IteratorType, Predicate > Class Template Reference

C++ Standard Library compatable filtered iterator. More...

#include <Teuchos_FilteredIterator.hpp>

Public Types

public typedefs
typedef std::bidirectional_iterator_tag iterator_category
typedef std::iterator_traits< IteratorType >::value_type value_type
typedef std::iterator_traits< IteratorType >::reference reference
typedef std::iterator_traits< IteratorType >::pointer pointer
typedef std::iterator_traits< IteratorType >::difference_type difference_type

Public Member Functions

Constructors.
 FilteredIterator ()
 construct to a null iterator.
 FilteredIterator (IteratorType current_in, IteratorType begin_in, IteratorType end_in, Predicate pred_in=Predicate())
 Construct with iterator and range.
template<class IteratorType2, class Predicate2>
 FilteredIterator (const FilteredIterator< IteratorType2, Predicate2 > &rhs)
 Convert type of iterators (mainly for non-const to const).
template<class IteratorType2, class Predicate2>
FilteredIteratoroperator= (const FilteredIterator< IteratorType2, Predicate2 > &rhs)
 Assign different types of iterators (mainly for non-const to const).
Access
reference operator* () const
 itr*
pointer operator-> () const
 itr->member
Incrementation
FilteredIteratoroperator++ ()
 ++itr
const FilteredIterator operator++ (int)
 itr++
FilteredIteratoroperator-- ()
 –itr
const FilteredIterator operator-- (int)
 itr–

(Note that these are not member symbols.)

template<class IteratorType, class Predicate>
bool operator== (const FilteredIterator< IteratorType, Predicate > &itr1, const FilteredIterator< IteratorType, Predicate > &itr2)
 itr1 == itr2.
template<class IteratorType, class Predicate>
bool operator!= (const FilteredIterator< IteratorType, Predicate > &itr1, const FilteredIterator< IteratorType, Predicate > &itr2)
 itr1 != itr2.
template<class IteratorType, class Predicate>
std::ostream & operator<< (std::ostream &out, const FilteredIterator< IteratorType, Predicate > &itr)
 ostream operator.

Implementation access

IteratorType current () const
IteratorType begin () const
IteratorType end () const
Predicate pred () const

Detailed Description

template<class IteratorType, class Predicate>
class Teuchos::FilteredIterator< IteratorType, Predicate >

C++ Standard Library compatable filtered iterator.

Provides a bidirectional iterator providing a filtered view of an underlying iterator (defined by a predicate policy object).

Definition at line 28 of file Teuchos_FilteredIterator.hpp.

Member Typedef Documentation

◆ iterator_category

template<class IteratorType, class Predicate>
typedef std::bidirectional_iterator_tag Teuchos::FilteredIterator< IteratorType, Predicate >::iterator_category

Definition at line 35 of file Teuchos_FilteredIterator.hpp.

◆ value_type

template<class IteratorType, class Predicate>
typedef std::iterator_traits<IteratorType>::value_type Teuchos::FilteredIterator< IteratorType, Predicate >::value_type

Definition at line 37 of file Teuchos_FilteredIterator.hpp.

◆ reference

template<class IteratorType, class Predicate>
typedef std::iterator_traits<IteratorType>::reference Teuchos::FilteredIterator< IteratorType, Predicate >::reference

Definition at line 39 of file Teuchos_FilteredIterator.hpp.

◆ pointer

template<class IteratorType, class Predicate>
typedef std::iterator_traits<IteratorType>::pointer Teuchos::FilteredIterator< IteratorType, Predicate >::pointer

Definition at line 41 of file Teuchos_FilteredIterator.hpp.

◆ difference_type

template<class IteratorType, class Predicate>
typedef std::iterator_traits<IteratorType>::difference_type Teuchos::FilteredIterator< IteratorType, Predicate >::difference_type

Definition at line 43 of file Teuchos_FilteredIterator.hpp.

Constructor & Destructor Documentation

◆ FilteredIterator() [1/3]

template<class IteratorType, class Predicate>
Teuchos::FilteredIterator< IteratorType, Predicate >::FilteredIterator ( )
inline

construct to a null iterator.

Definition at line 51 of file Teuchos_FilteredIterator.hpp.

◆ FilteredIterator() [2/3]

template<class IteratorType, class Predicate>
Teuchos::FilteredIterator< IteratorType, Predicate >::FilteredIterator ( IteratorType current_in,
IteratorType begin_in,
IteratorType end_in,
Predicate pred_in = Predicate() )
inline

Construct with iterator and range.

Todo
Assert valid range for random-access iterators.

Definition at line 56 of file Teuchos_FilteredIterator.hpp.

◆ FilteredIterator() [3/3]

template<class IteratorType, class Predicate>
template<class IteratorType2, class Predicate2>
Teuchos::FilteredIterator< IteratorType, Predicate >::FilteredIterator ( const FilteredIterator< IteratorType2, Predicate2 > & rhs)
inline

Convert type of iterators (mainly for non-const to const).

Definition at line 63 of file Teuchos_FilteredIterator.hpp.

Member Function Documentation

◆ operator=()

template<class IteratorType, class Predicate>
template<class IteratorType2, class Predicate2>
FilteredIterator & Teuchos::FilteredIterator< IteratorType, Predicate >::operator= ( const FilteredIterator< IteratorType2, Predicate2 > & rhs)
inline

Assign different types of iterators (mainly for non-const to const).

Definition at line 68 of file Teuchos_FilteredIterator.hpp.

◆ operator*()

template<class IteratorType, class Predicate>
reference Teuchos::FilteredIterator< IteratorType, Predicate >::operator* ( ) const
inline

itr*

Definition at line 83 of file Teuchos_FilteredIterator.hpp.

◆ operator->()

template<class IteratorType, class Predicate>
pointer Teuchos::FilteredIterator< IteratorType, Predicate >::operator-> ( ) const
inline

itr->member

Definition at line 86 of file Teuchos_FilteredIterator.hpp.

◆ operator++() [1/2]

template<class IteratorType, class Predicate>
FilteredIterator & Teuchos::FilteredIterator< IteratorType, Predicate >::operator++ ( )
inline

++itr

Definition at line 95 of file Teuchos_FilteredIterator.hpp.

◆ operator++() [2/2]

template<class IteratorType, class Predicate>
const FilteredIterator Teuchos::FilteredIterator< IteratorType, Predicate >::operator++ ( int )
inline

itr++

Definition at line 103 of file Teuchos_FilteredIterator.hpp.

◆ operator--() [1/2]

template<class IteratorType, class Predicate>
FilteredIterator & Teuchos::FilteredIterator< IteratorType, Predicate >::operator-- ( )
inline

–itr

Definition at line 110 of file Teuchos_FilteredIterator.hpp.

◆ operator--() [2/2]

template<class IteratorType, class Predicate>
const FilteredIterator Teuchos::FilteredIterator< IteratorType, Predicate >::operator-- ( int )
inline

itr–

Definition at line 118 of file Teuchos_FilteredIterator.hpp.

◆ current()

template<class IteratorType, class Predicate>
IteratorType Teuchos::FilteredIterator< IteratorType, Predicate >::current ( ) const
inline

Definition at line 131 of file Teuchos_FilteredIterator.hpp.

◆ begin()

template<class IteratorType, class Predicate>
IteratorType Teuchos::FilteredIterator< IteratorType, Predicate >::begin ( ) const
inline

Definition at line 133 of file Teuchos_FilteredIterator.hpp.

◆ end()

template<class IteratorType, class Predicate>
IteratorType Teuchos::FilteredIterator< IteratorType, Predicate >::end ( ) const
inline

Definition at line 135 of file Teuchos_FilteredIterator.hpp.

◆ pred()

template<class IteratorType, class Predicate>
Predicate Teuchos::FilteredIterator< IteratorType, Predicate >::pred ( ) const
inline

Definition at line 137 of file Teuchos_FilteredIterator.hpp.

◆ operator==()

template<class IteratorType, class Predicate>
bool operator== ( const FilteredIterator< IteratorType, Predicate > & itr1,
const FilteredIterator< IteratorType, Predicate > & itr2 )
related

itr1 == itr2.

Definition at line 180 of file Teuchos_FilteredIterator.hpp.

◆ operator!=()

template<class IteratorType, class Predicate>
bool operator!= ( const FilteredIterator< IteratorType, Predicate > & itr1,
const FilteredIterator< IteratorType, Predicate > & itr2 )
related

itr1 != itr2.

Definition at line 191 of file Teuchos_FilteredIterator.hpp.

◆ operator<<()

template<class IteratorType, class Predicate>
std::ostream & operator<< ( std::ostream & out,
const FilteredIterator< IteratorType, Predicate > & itr )
related

ostream operator.

WARNING: This requires that IteratorType also support operator<<().

Definition at line 205 of file Teuchos_FilteredIterator.hpp.


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