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

Public Types

typedef TYPE Value
 
typedef TYPE * Pointer
 
typedef TYPE & Reference
 
typedef MemoryDiff Distance
 
typedef BidirectionalIterator Category
 

Public Member Functions

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

Protected Member Functions

 _COM_AZURE_DEV__BASE__PROTECT_ITERATORS_ADD_CONTEXT ()
 

Protected Attributes

DoubleLinkedNode< TYPE > * node = nullptr
 

Constructor & Destructor Documentation

◆ DoubleLinkedNodeIterator() [1/2]

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

Initializes iterator.

Parameters
valueThe initial value of the iterator.

◆ DoubleLinkedNodeIterator() [2/2]

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

Initializes iterator from other iterator.

Member Function Documentation

◆ getNode()

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

Returns the pointer value of the iterator.

◆ getValue()

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

Returns the pointer value of the iterator.

◆ operator!=()

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

Returns true if the iterators aren't equal.

◆ operator*()

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

Access the element.

◆ operator++() [1/2]

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

Prefix increment.

◆ operator++() [2/2]

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

Postfix increment.

◆ operator+=()

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

Moves the specified distance forward.

◆ operator--() [1/2]

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

Prefix decrement.

◆ operator--() [2/2]

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

Postfix decrement.

◆ operator-=()

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

Moves the specified distance backwards.

◆ operator->()

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

Access the element.

◆ operator=()

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

Initializes iterator from other iterator.

◆ operator==()

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

Returns true if the iterators are equal.