CommonLibSSE (Parapets fork)
RE::BSTList< T, Allocator >::const_iterator Struct Reference

#include <BSTList.h>

Inheritance diagram for RE::BSTList< T, Allocator >::const_iterator:
RE::BSTList< T, Allocator >::iterator

Public Types

using value_type = T
 
using const_pointer = const T *
 
using iterator_category = std::bidirectional_iterator_tag
 

Public Member Functions

 const_iterator (BSTListNode< T > *a_node) noexcept
 
constexpr const_iterator (const const_iterator &a_rhs) noexcept
 
constexpr const_iterator (const const_iterator &&a_rhs) noexcept
 
constexpr const_iteratoroperator= (const const_iterator &a_rhs) noexcept
 
constexpr const_iteratoroperator= (const_iterator &&a_rhs) noexcept
 
constexpr const_reference operator* () const noexcept
 
constexpr const_pointer operator-> () const noexcept
 
constexpr bool operator== (const const_iterator &a_rhs) const noexcept
 
constexpr bool operator!= (const const_iterator &a_rhs) const noexcept
 
constexpr const_iteratoroperator++ () noexcept
 
constexpr const_iterator operator++ (int) noexcept
 
constexpr const_iteratoroperator-- () noexcept
 
constexpr const_iterator operator-- (int) noexcept
 

Public Attributes

friend BSTList< T, Allocator >
 

Protected Attributes

stl::observer< BSTListNode< T > * > _cur
 

Member Typedef Documentation

◆ const_pointer

template<class T , class Allocator = BSTListHeapAllocator<T>>
using RE::BSTList< T, Allocator >::const_iterator::const_pointer = const T*

◆ iterator_category

template<class T , class Allocator = BSTListHeapAllocator<T>>
using RE::BSTList< T, Allocator >::const_iterator::iterator_category = std::bidirectional_iterator_tag

◆ value_type

template<class T , class Allocator = BSTListHeapAllocator<T>>
using RE::BSTList< T, Allocator >::const_iterator::value_type = T

Constructor & Destructor Documentation

◆ const_iterator() [1/3]

template<class T , class Allocator = BSTListHeapAllocator<T>>
RE::BSTList< T, Allocator >::const_iterator::const_iterator ( BSTListNode< T > *  a_node)
inlinenoexcept

◆ const_iterator() [2/3]

template<class T , class Allocator = BSTListHeapAllocator<T>>
constexpr RE::BSTList< T, Allocator >::const_iterator::const_iterator ( const const_iterator a_rhs)
inlineconstexprnoexcept

◆ const_iterator() [3/3]

template<class T , class Allocator = BSTListHeapAllocator<T>>
constexpr RE::BSTList< T, Allocator >::const_iterator::const_iterator ( const const_iterator &&  a_rhs)
inlineconstexprnoexcept

Member Function Documentation

◆ operator!=()

template<class T , class Allocator = BSTListHeapAllocator<T>>
constexpr bool RE::BSTList< T, Allocator >::const_iterator::operator!= ( const const_iterator a_rhs) const
inlineconstexprnoexcept

◆ operator*()

template<class T , class Allocator = BSTListHeapAllocator<T>>
constexpr const_reference RE::BSTList< T, Allocator >::const_iterator::operator* ( ) const
inlineconstexprnoexcept

◆ operator++() [1/2]

template<class T , class Allocator = BSTListHeapAllocator<T>>
constexpr const_iterator& RE::BSTList< T, Allocator >::const_iterator::operator++ ( )
inlineconstexprnoexcept

◆ operator++() [2/2]

template<class T , class Allocator = BSTListHeapAllocator<T>>
constexpr const_iterator RE::BSTList< T, Allocator >::const_iterator::operator++ ( int  )
inlineconstexprnoexcept

◆ operator--() [1/2]

template<class T , class Allocator = BSTListHeapAllocator<T>>
constexpr const_iterator& RE::BSTList< T, Allocator >::const_iterator::operator-- ( )
inlineconstexprnoexcept

◆ operator--() [2/2]

template<class T , class Allocator = BSTListHeapAllocator<T>>
constexpr const_iterator RE::BSTList< T, Allocator >::const_iterator::operator-- ( int  )
inlineconstexprnoexcept

◆ operator->()

template<class T , class Allocator = BSTListHeapAllocator<T>>
constexpr const_pointer RE::BSTList< T, Allocator >::const_iterator::operator-> ( ) const
inlineconstexprnoexcept

◆ operator=() [1/2]

template<class T , class Allocator = BSTListHeapAllocator<T>>
constexpr const_iterator& RE::BSTList< T, Allocator >::const_iterator::operator= ( const const_iterator a_rhs)
inlineconstexprnoexcept

◆ operator=() [2/2]

template<class T , class Allocator = BSTListHeapAllocator<T>>
constexpr const_iterator& RE::BSTList< T, Allocator >::const_iterator::operator= ( const_iterator &&  a_rhs)
inlineconstexprnoexcept

◆ operator==()

template<class T , class Allocator = BSTListHeapAllocator<T>>
constexpr bool RE::BSTList< T, Allocator >::const_iterator::operator== ( const const_iterator a_rhs) const
inlineconstexprnoexcept

Member Data Documentation

◆ _cur

template<class T , class Allocator = BSTListHeapAllocator<T>>
stl::observer<BSTListNode<T>*> RE::BSTList< T, Allocator >::const_iterator::_cur
protected

◆ BSTList< T, Allocator >

template<class T , class Allocator = BSTListHeapAllocator<T>>
friend RE::BSTList< T, Allocator >::const_iterator::BSTList< T, Allocator >

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