mn::container::basic_queue_iterator< T, TQUEUE > Class Template Reference

#include <mn_queue.hpp>

Public Types

using iterator_category = mn::forward_iterator_tag
 
using value_type = T
 
using pointer = value_type *
 
using reference = value_type &
 
using difference_type = ptrdiff_t
 
using queue_type = TQUEUE
 
using self_type = basic_queue_iterator< T, TQUEUE >
 
using pointer_queue = TQUEUE *
 

Public Member Functions

 basic_queue_iterator (pointer_queue _pQueue, bool isEnd=false)
 
 basic_queue_iterator (pointer value, pointer_queue _pQueue, bool isEnd=false)
 
template<class U , class UQUEUE >
 basic_queue_iterator (const basic_queue_iterator< U, UQUEUE > &rhs)
 
pointer get () const
 
reference operator* () const
 
pointer operator-> () const
 
self_typeoperator++ ()
 
self_type operator++ (int)
 
bool operator== (const self_type &rhs) const
 
bool operator!= (const self_type &rhs) const
 

Private Attributes

pointerm_pValue
 
pointer_queue m_pQueue
 
bool m_bIsEnd
 

Member Typedef Documentation

◆ difference_type

template<class T , class TQUEUE >
using mn::container::basic_queue_iterator< T, TQUEUE >::difference_type = ptrdiff_t

◆ iterator_category

template<class T , class TQUEUE >
using mn::container::basic_queue_iterator< T, TQUEUE >::iterator_category = mn::forward_iterator_tag

◆ pointer

template<class T , class TQUEUE >
using mn::container::basic_queue_iterator< T, TQUEUE >::pointer = value_type*

◆ pointer_queue

template<class T , class TQUEUE >
using mn::container::basic_queue_iterator< T, TQUEUE >::pointer_queue = TQUEUE*

◆ queue_type

template<class T , class TQUEUE >
using mn::container::basic_queue_iterator< T, TQUEUE >::queue_type = TQUEUE

◆ reference

template<class T , class TQUEUE >
using mn::container::basic_queue_iterator< T, TQUEUE >::reference = value_type&

◆ self_type

template<class T , class TQUEUE >
using mn::container::basic_queue_iterator< T, TQUEUE >::self_type = basic_queue_iterator<T, TQUEUE>

◆ value_type

template<class T , class TQUEUE >
using mn::container::basic_queue_iterator< T, TQUEUE >::value_type = T

Constructor & Destructor Documentation

◆ basic_queue_iterator() [1/3]

template<class T , class TQUEUE >
mn::container::basic_queue_iterator< T, TQUEUE >::basic_queue_iterator ( pointer_queue  _pQueue,
bool  isEnd = false 
)
inlineexplicit

◆ basic_queue_iterator() [2/3]

template<class T , class TQUEUE >
mn::container::basic_queue_iterator< T, TQUEUE >::basic_queue_iterator ( pointer  value,
pointer_queue  _pQueue,
bool  isEnd = false 
)
inlineexplicit

◆ basic_queue_iterator() [3/3]

template<class T , class TQUEUE >
template<class U , class UQUEUE >
mn::container::basic_queue_iterator< T, TQUEUE >::basic_queue_iterator ( const basic_queue_iterator< U, UQUEUE > &  rhs)
inline

Member Function Documentation

◆ get()

template<class T , class TQUEUE >
pointer mn::container::basic_queue_iterator< T, TQUEUE >::get ( ) const
inline

◆ operator!=()

template<class T , class TQUEUE >
bool mn::container::basic_queue_iterator< T, TQUEUE >::operator!= ( const self_type rhs) const
inline

◆ operator*()

template<class T , class TQUEUE >
reference mn::container::basic_queue_iterator< T, TQUEUE >::operator* ( ) const
inline

◆ operator++() [1/2]

template<class T , class TQUEUE >
self_type& mn::container::basic_queue_iterator< T, TQUEUE >::operator++ ( )
inline

◆ operator++() [2/2]

template<class T , class TQUEUE >
self_type mn::container::basic_queue_iterator< T, TQUEUE >::operator++ ( int  )
inline

◆ operator->()

template<class T , class TQUEUE >
pointer mn::container::basic_queue_iterator< T, TQUEUE >::operator-> ( ) const
inline

◆ operator==()

template<class T , class TQUEUE >
bool mn::container::basic_queue_iterator< T, TQUEUE >::operator== ( const self_type rhs) const
inline

Member Data Documentation

◆ m_bIsEnd

template<class T , class TQUEUE >
bool mn::container::basic_queue_iterator< T, TQUEUE >::m_bIsEnd
private

◆ m_pQueue

template<class T , class TQUEUE >
pointer_queue mn::container::basic_queue_iterator< T, TQUEUE >::m_pQueue
private

◆ m_pValue

template<class T , class TQUEUE >
pointer* mn::container::basic_queue_iterator< T, TQUEUE >::m_pValue
private

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