mn::container::list_node_iterator< TNodePtr, TPtr, TRef > Class Template Reference

#include <mn_list.hpp>

Public Types

using iterator_category = bidirectional_iterator_tag
 
using value_type = TNodePtr
 
using pointer = TPtr
 
using reference = TRef
 
using difference_type = ptrdiff_t
 
using node_type = TNodePtr
 
using self_type = list_node_iterator< TNodePtr, TPtr, TRef >
 

Public Member Functions

 list_node_iterator ()
 
 list_node_iterator (node_type node)
 
template<typename UNodePtr , typename UPtr , typename URef >
 list_node_iterator (const list_node_iterator< UNodePtr, UPtr, URef > &rhs)
 
node_type node () const
 
reference operator* () const
 
pointer operator-> () const
 
self_typeoperator++ ()
 
self_typeoperator-- ()
 
self_type operator++ (int)
 
self_type operator-- (int)
 
bool operator== (const self_type &rhs) const
 
bool operator!= (const self_type &rhs) const
 

Private Attributes

node_type m_node
 

Member Typedef Documentation

◆ difference_type

template<typename TNodePtr , typename TPtr , typename TRef >
using mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::difference_type = ptrdiff_t

◆ iterator_category

template<typename TNodePtr , typename TPtr , typename TRef >
using mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::iterator_category = bidirectional_iterator_tag

◆ node_type

template<typename TNodePtr , typename TPtr , typename TRef >
using mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::node_type = TNodePtr

◆ pointer

template<typename TNodePtr , typename TPtr , typename TRef >
using mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::pointer = TPtr

◆ reference

template<typename TNodePtr , typename TPtr , typename TRef >
using mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::reference = TRef

◆ self_type

template<typename TNodePtr , typename TPtr , typename TRef >
using mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::self_type = list_node_iterator<TNodePtr, TPtr, TRef>

◆ value_type

template<typename TNodePtr , typename TPtr , typename TRef >
using mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::value_type = TNodePtr

Constructor & Destructor Documentation

◆ list_node_iterator() [1/3]

template<typename TNodePtr , typename TPtr , typename TRef >
mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::list_node_iterator ( )
inlineexplicit

◆ list_node_iterator() [2/3]

template<typename TNodePtr , typename TPtr , typename TRef >
mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::list_node_iterator ( node_type  node)
inlineexplicit

◆ list_node_iterator() [3/3]

template<typename TNodePtr , typename TPtr , typename TRef >
template<typename UNodePtr , typename UPtr , typename URef >
mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::list_node_iterator ( const list_node_iterator< UNodePtr, UPtr, URef > &  rhs)
inline

Member Function Documentation

◆ node()

template<typename TNodePtr , typename TPtr , typename TRef >
node_type mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::node ( ) const
inline

◆ operator!=()

template<typename TNodePtr , typename TPtr , typename TRef >
bool mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::operator!= ( const self_type rhs) const
inline

◆ operator*()

template<typename TNodePtr , typename TPtr , typename TRef >
reference mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::operator* ( ) const
inline

◆ operator++() [1/2]

template<typename TNodePtr , typename TPtr , typename TRef >
self_type& mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename TNodePtr , typename TPtr , typename TRef >
self_type mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::operator++ ( int  )
inline

◆ operator--() [1/2]

template<typename TNodePtr , typename TPtr , typename TRef >
self_type& mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::operator-- ( )
inline

◆ operator--() [2/2]

template<typename TNodePtr , typename TPtr , typename TRef >
self_type mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::operator-- ( int  )
inline

◆ operator->()

template<typename TNodePtr , typename TPtr , typename TRef >
pointer mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::operator-> ( ) const
inline

◆ operator==()

template<typename TNodePtr , typename TPtr , typename TRef >
bool mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::operator== ( const self_type rhs) const
inline

Member Data Documentation

◆ m_node

template<typename TNodePtr , typename TPtr , typename TRef >
node_type mn::container::list_node_iterator< TNodePtr, TPtr, TRef >::m_node
private

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