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

#include <mn_deque.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 deque_type = TQUEUE
 
using self_type = basic_deque_iterator< T, TQUEUE >
 
using pointer_deque = TQUEUE *
 

Public Member Functions

 basic_deque_iterator (pointer_deque _pQueue, bool isEnd=false)
 
 basic_deque_iterator (pointer value, pointer_deque _pQueue, bool isEnd=false)
 
template<class U , class UQUEUE >
 basic_deque_iterator (const basic_deque_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_deque m_pQueue
 
bool m_bIsEnd
 

Member Typedef Documentation

◆ deque_type

template<class T , class TQUEUE >
using mn::container::basic_deque_iterator< T, TQUEUE >::deque_type = TQUEUE

◆ difference_type

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

◆ iterator_category

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

◆ pointer

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

◆ pointer_deque

template<class T , class TQUEUE >
using mn::container::basic_deque_iterator< T, TQUEUE >::pointer_deque = TQUEUE*

◆ reference

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

◆ self_type

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

◆ value_type

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

Constructor & Destructor Documentation

◆ basic_deque_iterator() [1/3]

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

◆ basic_deque_iterator() [2/3]

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

◆ basic_deque_iterator() [3/3]

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

Member Function Documentation

◆ get()

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

◆ operator!=()

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

◆ operator*()

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

◆ operator++() [1/2]

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

◆ operator++() [2/2]

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

◆ operator->()

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

◆ operator==()

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

Member Data Documentation

◆ m_bIsEnd

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

◆ m_pQueue

template<class T , class TQUEUE >
pointer_deque mn::container::basic_deque_iterator< T, TQUEUE >::m_pQueue
private

◆ m_pValue

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

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