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

Public Types

typedef TYPE Value
 
typedef MemoryDiff Distance
 
typedef BidirectionalIterator Category
 

Public Member Functions

 DoubleLinkedNodeReadIterator (const DoubleLinkedNode< TYPE > *_node) noexcept
 
 DoubleLinkedNodeReadIterator (const DoubleLinkedNodeReadIterator &copy) noexcept
 
DoubleLinkedNodeReadIteratoroperator= (const DoubleLinkedNodeReadIterator &copy) noexcept
 
DoubleLinkedNodeReadIteratoroperator++ () noexcept
 
DoubleLinkedNodeReadIterator operator++ (int) noexcept
 
DoubleLinkedNodeReadIteratoroperator-- () noexcept
 
DoubleLinkedNodeReadIterator operator-- (int) noexcept
 
DoubleLinkedNodeReadIteratoroperator+= (Distance distance) noexcept
 
DoubleLinkedNodeReadIteratoroperator-= (Distance distance) noexcept
 
bool operator== (const DoubleLinkedNodeReadIterator &compare) const noexcept
 
bool operator!= (const DoubleLinkedNodeReadIterator &compare) const noexcept
 
Reference operator* () const noexcept
 
Pointer operator-> () const noexcept
 
Pointer getValue () const noexcept
 
const DoubleLinkedNode< TYPE > * getNode () const noexcept
 

Public Attributes

const typedef TYPE * Pointer
 
const typedef TYPE & Reference
 

Protected Member Functions

 _COM_AZURE_DEV__BASE__PROTECT_ITERATORS_ADD_CONTEXT ()
 

Protected Attributes

const DoubleLinkedNode< TYPE > * node = nullptr
 

Constructor & Destructor Documentation

◆ DoubleLinkedNodeReadIterator() [1/2]

template<class TYPE >
DoubleLinkedNodeReadIterator< TYPE >::DoubleLinkedNodeReadIterator ( const DoubleLinkedNode< TYPE > *  _node)
inlineexplicitnoexcept

Initializes iterator.

Parameters
valueThe initial value of the iterator.

◆ DoubleLinkedNodeReadIterator() [2/2]

template<class TYPE >
DoubleLinkedNodeReadIterator< TYPE >::DoubleLinkedNodeReadIterator ( const DoubleLinkedNodeReadIterator< TYPE > &  copy)
inlinenoexcept

Initializes iterator from other iterator.

Member Function Documentation

◆ getNode()

template<class TYPE >
const DoubleLinkedNode<TYPE>* DoubleLinkedNodeReadIterator< TYPE >::getNode ( ) const
inlinenoexcept

Returns the pointer value of the iterator.

◆ getValue()

template<class TYPE >
Pointer DoubleLinkedNodeReadIterator< TYPE >::getValue ( ) const
inlinenoexcept

Returns the pointer value of the iterator.

◆ operator!=()

template<class TYPE >
bool DoubleLinkedNodeReadIterator< TYPE >::operator!= ( const DoubleLinkedNodeReadIterator< TYPE > &  compare) const
inlinenoexcept

Returns true if the iterators aren't equal.

◆ operator*()

template<class TYPE >
Reference DoubleLinkedNodeReadIterator< TYPE >::operator* ( ) const
inlinenoexcept

Access the element.

◆ operator++() [1/2]

template<class TYPE >
DoubleLinkedNodeReadIterator& DoubleLinkedNodeReadIterator< TYPE >::operator++ ( )
inlinenoexcept

Prefix increment.

◆ operator++() [2/2]

template<class TYPE >
DoubleLinkedNodeReadIterator DoubleLinkedNodeReadIterator< TYPE >::operator++ ( int  )
inlinenoexcept

Postfix increment.

◆ operator+=()

template<class TYPE >
DoubleLinkedNodeReadIterator& DoubleLinkedNodeReadIterator< TYPE >::operator+= ( Distance  distance)
inlinenoexcept

Moves the specified distance forward. O(n) complexity.

◆ operator--() [1/2]

template<class TYPE >
DoubleLinkedNodeReadIterator& DoubleLinkedNodeReadIterator< TYPE >::operator-- ( )
inlinenoexcept

Prefix decrement.

◆ operator--() [2/2]

template<class TYPE >
DoubleLinkedNodeReadIterator DoubleLinkedNodeReadIterator< TYPE >::operator-- ( int  )
inlinenoexcept

Postfix decrement.

◆ operator-=()

template<class TYPE >
DoubleLinkedNodeReadIterator& DoubleLinkedNodeReadIterator< TYPE >::operator-= ( Distance  distance)
inlinenoexcept

Moves the specified distance backwards. O(n) complexity.

◆ operator->()

template<class TYPE >
Pointer DoubleLinkedNodeReadIterator< TYPE >::operator-> ( ) const
inlinenoexcept

Access the element.

◆ operator=()

template<class TYPE >
DoubleLinkedNodeReadIterator& DoubleLinkedNodeReadIterator< TYPE >::operator= ( const DoubleLinkedNodeReadIterator< TYPE > &  copy)
inlinenoexcept

Initializes iterator from other iterator.

◆ operator==()

template<class TYPE >
bool DoubleLinkedNodeReadIterator< TYPE >::operator== ( const DoubleLinkedNodeReadIterator< TYPE > &  compare) const
inlinenoexcept

Returns true if the iterators are equal.