Teuchos - Trilinos Tools Package Version of the Day
Loading...
Searching...
No Matches
Related Functions | List of all members
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–
 

Related Functions

(Note that these are not member functions.)

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 60 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 67 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 69 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 71 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 73 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 75 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 83 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 88 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 95 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 100 of file Teuchos_FilteredIterator.hpp.

◆ operator*()

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

itr*

Definition at line 115 of file Teuchos_FilteredIterator.hpp.

◆ operator->()

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

itr->member

Definition at line 118 of file Teuchos_FilteredIterator.hpp.

◆ operator++() [1/2]

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

++itr

Definition at line 127 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 135 of file Teuchos_FilteredIterator.hpp.

◆ operator--() [1/2]

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

–itr

Definition at line 142 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 150 of file Teuchos_FilteredIterator.hpp.

◆ current()

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

Definition at line 163 of file Teuchos_FilteredIterator.hpp.

◆ begin()

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

Definition at line 165 of file Teuchos_FilteredIterator.hpp.

◆ end()

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

Definition at line 167 of file Teuchos_FilteredIterator.hpp.

◆ pred()

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

Definition at line 169 of file Teuchos_FilteredIterator.hpp.

Friends And Related Function Documentation

◆ operator==()

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

itr1 == itr2.

Definition at line 212 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 223 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 237 of file Teuchos_FilteredIterator.hpp.


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