Teuchos - Trilinos Tools Package Version of the Day
Related Functions
Teuchos::FilteredIterator< IteratorType, Predicate > Class Template Reference

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

#include <Teuchos_FilteredIterator.hpp>

List of all members.

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--
Implementation access
IteratorType current () const
 
IteratorType begin () const
 
IteratorType end () const
 
Predicate pred () const
 

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.

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

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.

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.

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.

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.

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

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.

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.

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

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.

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

itr*

Definition at line 115 of file Teuchos_FilteredIterator.hpp.

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

itr->member

Definition at line 118 of file Teuchos_FilteredIterator.hpp.

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

++itr

Definition at line 127 of file Teuchos_FilteredIterator.hpp.

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

itr++

Definition at line 135 of file Teuchos_FilteredIterator.hpp.

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

--itr

Definition at line 142 of file Teuchos_FilteredIterator.hpp.

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

itr--

Definition at line 150 of file Teuchos_FilteredIterator.hpp.

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

Definition at line 163 of file Teuchos_FilteredIterator.hpp.

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

Definition at line 165 of file Teuchos_FilteredIterator.hpp.

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

Definition at line 167 of file Teuchos_FilteredIterator.hpp.

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

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.

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.

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines