STXXL  1.4-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl::parallel::guarded_iterator< RandomAccessIterator, Comparator > Class Template Reference

Detailed Description

template<typename RandomAccessIterator, typename Comparator>
class stxxl::parallel::guarded_iterator< RandomAccessIterator, Comparator >

Iterator wrapper supporting an implicit supremum at the end of the sequence, dominating all comparisons.

Deriving from RandomAccessIterator is not possible since RandomAccessIterator need not be a class.

Definition at line 60 of file multiway_merge.h.

Public Types

typedef guarded_iterator
< RandomAccessIterator,
Comparator > 
self_type
 Our own type. More...
 
typedef std::iterator_traits
< RandomAccessIterator >
::value_type 
value_type
 Value type of the iterator. More...
 

Public Member Functions

 guarded_iterator (RandomAccessIterator begin, RandomAccessIterator end, Comparator &comp)
 Constructor. More...
 
RandomAccessIterator & iterator ()
 Convert to wrapped iterator. More...
 
value_typeoperator* ()
 Dereference operator. More...
 
self_typeoperator++ ()
 Pre-increment operator. More...
 

Protected Attributes

Comparator & comp
 Comparator. More...
 
RandomAccessIterator current
 Current iterator position. More...
 
RandomAccessIterator end
 End iterator of the sequence. More...
 

Friends

bool operator< (self_type &bi1, self_type &bi2)
 Compare two elements referenced by guarded iterators. More...
 
bool operator<= (self_type &bi1, self_type &bi2)
 Compare two elements referenced by guarded iterators. More...
 

Member Typedef Documentation

template<typename RandomAccessIterator , typename Comparator >
typedef guarded_iterator<RandomAccessIterator, Comparator> stxxl::parallel::guarded_iterator< RandomAccessIterator, Comparator >::self_type

Our own type.

Definition at line 64 of file multiway_merge.h.

template<typename RandomAccessIterator , typename Comparator >
typedef std::iterator_traits<RandomAccessIterator>::value_type stxxl::parallel::guarded_iterator< RandomAccessIterator, Comparator >::value_type

Value type of the iterator.

Definition at line 67 of file multiway_merge.h.

Constructor & Destructor Documentation

template<typename RandomAccessIterator , typename Comparator >
stxxl::parallel::guarded_iterator< RandomAccessIterator, Comparator >::guarded_iterator ( RandomAccessIterator  begin,
RandomAccessIterator  end,
Comparator &  comp 
)
inline

Constructor.

Sets iterator to beginning of sequence.

Parameters
beginBegin iterator of sequence.
endEnd iterator of sequence.
compComparator provided for associated overloaded compare operators.

Definition at line 85 of file multiway_merge.h.

Member Function Documentation

template<typename RandomAccessIterator , typename Comparator >
RandomAccessIterator& stxxl::parallel::guarded_iterator< RandomAccessIterator, Comparator >::iterator ( )
inline

Convert to wrapped iterator.

Returns
Wrapped iterator.

Definition at line 113 of file multiway_merge.h.

template<typename RandomAccessIterator , typename Comparator >
value_type& stxxl::parallel::guarded_iterator< RandomAccessIterator, Comparator >::operator* ( )
inline

Dereference operator.

Returns
Referenced element.

Definition at line 104 of file multiway_merge.h.

template<typename RandomAccessIterator , typename Comparator >
self_type& stxxl::parallel::guarded_iterator< RandomAccessIterator, Comparator >::operator++ ( )
inline

Pre-increment operator.

Returns
This.

Definition at line 94 of file multiway_merge.h.

Friends And Related Function Documentation

template<typename RandomAccessIterator , typename Comparator >
bool operator< ( self_type bi1,
self_type bi2 
)
friend

Compare two elements referenced by guarded iterators.

Parameters
bi1First iterator.
bi2Second iterator.
Returns
True if less.

Definition at line 124 of file multiway_merge.h.

template<typename RandomAccessIterator , typename Comparator >
bool operator<= ( self_type bi1,
self_type bi2 
)
friend

Compare two elements referenced by guarded iterators.

Parameters
bi1First iterator.
bi2Second iterator.
Returns
True if less equal.

Definition at line 139 of file multiway_merge.h.

Member Data Documentation

template<typename RandomAccessIterator , typename Comparator >
Comparator& stxxl::parallel::guarded_iterator< RandomAccessIterator, Comparator >::comp
protected

Comparator.

Definition at line 75 of file multiway_merge.h.

template<typename RandomAccessIterator , typename Comparator >
RandomAccessIterator stxxl::parallel::guarded_iterator< RandomAccessIterator, Comparator >::current
protected

Current iterator position.

Definition at line 71 of file multiway_merge.h.

template<typename RandomAccessIterator , typename Comparator >
RandomAccessIterator stxxl::parallel::guarded_iterator< RandomAccessIterator, Comparator >::end
protected

End iterator of the sequence.

Definition at line 73 of file multiway_merge.h.


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