Base Framework
Public Types | Public Member Functions | Protected Attributes | List of all members
SequenceIterator< TRAITS > Class Template Reference

Iterator of elements of a sequence. More...

#include <base/iterator/SequenceIterator.h>

Inherits Iterator< TRAITS >.

Inherited by MatrixColumnIterator< TRAITS >.

Public Types

typedef Iterator< TRAITS >::Value Value
 
typedef Iterator< TRAITS >::Reference Reference
 
typedef Iterator< TRAITS >::Pointer Pointer
 
typedef Iterator< TRAITS >::Distance Distance
 
typedef Iterator< TRAITS >::Category Category
 
- Public Types inherited from Iterator< TRAITS >
typedef TRAITS::Value Value
 
typedef TRAITS::Distance Distance
 
typedef TRAITS::Reference Reference
 
typedef TRAITS::Pointer Pointer
 
typedef TRAITS::Category Category
 

Public Member Functions

 SequenceIterator () noexcept
 
 SequenceIterator (const Pointer value) noexcept
 
 SequenceIterator (const SequenceIterator &copy) noexcept
 
 SequenceIterator (SequenceIterator &&move) noexcept
 
template<class POLY >
 SequenceIterator (const SequenceIterator< POLY > &copy) noexcept
 
SequenceIteratoroperator= (const SequenceIterator &assign) noexcept
 
SequenceIteratoroperator= (SequenceIterator &&assign) noexcept
 
template<class POLY >
SequenceIteratoroperator= (const SequenceIterator< POLY > &assign) noexcept
 
SequenceIteratoroperator++ () noexcept
 
SequenceIterator operator++ (int) noexcept
 
SequenceIteratoroperator-- () noexcept
 
SequenceIterator operator-- (int) noexcept
 
SequenceIteratoroperator+= (Distance distance) noexcept
 
SequenceIteratoroperator-= (Distance distance) noexcept
 
bool operator== (const SequenceIterator &compare) const noexcept
 
bool operator!= (const SequenceIterator &compare) const noexcept
 
bool operator< (const SequenceIterator &compare) const noexcept
 
bool operator> (const SequenceIterator &compare) const noexcept
 
bool operator>= (const SequenceIterator &compare) const noexcept
 
bool operator<= (const SequenceIterator &compare) const noexcept
 
Reference operator* () const noexcept
 
Pointer operator-> () const noexcept
 
Pointer getValue () const noexcept
 
Reference operator[] (MemoryDiff index) const noexcept
 

Protected Attributes

Pointer element = nullptr
 

Detailed Description

template<class TRAITS>
class SequenceIterator< TRAITS >

Iterator of elements of a sequence.

Iterator used to traverse elements of a sequence (not to be confused with the Array collection).

Constructor & Destructor Documentation

◆ SequenceIterator() [1/5]

template<class TRAITS >
SequenceIterator< TRAITS >::SequenceIterator ( )
inlinenoexcept

Initializes iterator.

◆ SequenceIterator() [2/5]

template<class TRAITS >
SequenceIterator< TRAITS >::SequenceIterator ( const Pointer  value)
inlineexplicitnoexcept

Initializes iterator.

Parameters
valueThe initial value of the iterator.

◆ SequenceIterator() [3/5]

template<class TRAITS >
SequenceIterator< TRAITS >::SequenceIterator ( const SequenceIterator< TRAITS > &  copy)
inlinenoexcept

Initializes iterator from other iterator.

◆ SequenceIterator() [4/5]

template<class TRAITS >
SequenceIterator< TRAITS >::SequenceIterator ( SequenceIterator< TRAITS > &&  move)
inlinenoexcept

Initializes iterator from other iterator.

◆ SequenceIterator() [5/5]

template<class TRAITS >
template<class POLY >
SequenceIterator< TRAITS >::SequenceIterator ( const SequenceIterator< POLY > &  copy)
inlinenoexcept

Initializes iterator from other iterator.

Member Function Documentation

◆ getValue()

template<class TRAITS >
Pointer SequenceIterator< TRAITS >::getValue ( ) const
inlinenoexcept

Returns the pointer value of the iterator.

◆ operator!=()

template<class TRAITS >
bool SequenceIterator< TRAITS >::operator!= ( const SequenceIterator< TRAITS > &  compare) const
inlinenoexcept

Returns true if the iterators aren't equal.

◆ operator*()

template<class TRAITS >
Reference SequenceIterator< TRAITS >::operator* ( ) const
inlinenoexcept

Access the element.

◆ operator++() [1/2]

template<class TRAITS >
SequenceIterator& SequenceIterator< TRAITS >::operator++ ( )
inlinenoexcept

Prefix increment.

◆ operator++() [2/2]

template<class TRAITS >
SequenceIterator SequenceIterator< TRAITS >::operator++ ( int  )
inlinenoexcept

Postfix increment.

◆ operator+=()

template<class TRAITS >
SequenceIterator& SequenceIterator< TRAITS >::operator+= ( Distance  distance)
inlinenoexcept

Moves the specified distance forward.

◆ operator--() [1/2]

template<class TRAITS >
SequenceIterator& SequenceIterator< TRAITS >::operator-- ( )
inlinenoexcept

Prefix decrement.

◆ operator--() [2/2]

template<class TRAITS >
SequenceIterator SequenceIterator< TRAITS >::operator-- ( int  )
inlinenoexcept

Postfix decrement.

◆ operator-=()

template<class TRAITS >
SequenceIterator& SequenceIterator< TRAITS >::operator-= ( Distance  distance)
inlinenoexcept

Moves the specified distance backwards.

◆ operator->()

template<class TRAITS >
Pointer SequenceIterator< TRAITS >::operator-> ( ) const
inlinenoexcept

Access the element.

◆ operator<()

template<class TRAITS >
bool SequenceIterator< TRAITS >::operator< ( const SequenceIterator< TRAITS > &  compare) const
inlinenoexcept

Returns true if this iterator is less than the specified iterator.

◆ operator=() [1/3]

template<class TRAITS >
SequenceIterator& SequenceIterator< TRAITS >::operator= ( const SequenceIterator< TRAITS > &  assign)
inlinenoexcept

Initializes iterator from other iterator.

◆ operator=() [2/3]

template<class TRAITS >
template<class POLY >
SequenceIterator& SequenceIterator< TRAITS >::operator= ( const SequenceIterator< POLY > &  assign)
inlinenoexcept

Initializes iterator from other iterator.

◆ operator=() [3/3]

template<class TRAITS >
SequenceIterator& SequenceIterator< TRAITS >::operator= ( SequenceIterator< TRAITS > &&  assign)
inlinenoexcept

Initializes iterator from other iterator.

◆ operator==()

template<class TRAITS >
bool SequenceIterator< TRAITS >::operator== ( const SequenceIterator< TRAITS > &  compare) const
inlinenoexcept

Returns true if the iterators are equal.

◆ operator>=()

template<class TRAITS >
bool SequenceIterator< TRAITS >::operator>= ( const SequenceIterator< TRAITS > &  compare) const
inlinenoexcept

Returns true if this iterator is greater than or equal to the specified iterator.

◆ operator[]()

template<class TRAITS >
Reference SequenceIterator< TRAITS >::operator[] ( MemoryDiff  index) const
inlinenoexcept

Returns the element at the specified index from this element.

Member Data Documentation

◆ element

template<class TRAITS >
Pointer SequenceIterator< TRAITS >::element = nullptr
protected

The position of the iterator.