ArcdpsExtension
 
Loading...
Searching...
No Matches
ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator Class Reference

#include <SimpleRingBuffer.h>

Public Types

using difference_type = std::ptrdiff_t
 
using value_type = T
 
using pointer = T *
 
using reference = T &
 
using iterator_category = std::random_access_iterator_tag
 
using iterator_concept = std::random_access_iterator_tag
 

Public Member Functions

 RingBufferIterator ()=default
 
 RingBufferIterator (pointer pPtr, bool pBegin, bool pEnd, const RingBuffer< T, Allocator > *pParent)
 
 RingBufferIterator (const RingBufferIterator &pOther)=default
 
 RingBufferIterator (RingBufferIterator &&pOther) noexcept=default
 
RingBufferIteratoroperator= (const RingBufferIterator &pOther)=default
 
RingBufferIteratoroperator= (RingBufferIterator &&pOther) noexcept=default
 
bool operator== (const RingBufferIterator &) const =default
 
std::strong_ordering operator<=> (const RingBufferIterator &pOther) const
 
reference operator* () const
 
pointer operator-> () const
 
RingBufferIteratoroperator++ ()
 
RingBufferIteratoroperator-- ()
 
RingBufferIterator operator++ (int)
 
RingBufferIterator operator-- (int)
 
difference_type operator- (const RingBufferIterator &pOther) const
 
RingBufferIteratoroperator+= (const difference_type pNum)
 
RingBufferIterator operator+ (const difference_type pNum) const
 
RingBufferIteratoroperator-= (const difference_type pNum)
 
RingBufferIterator operator- (const difference_type pNum) const
 
reference operator[] (const difference_type pNum) const
 

Friends

RingBufferIterator operator+ (const difference_type pLhs, const RingBufferIterator &pRhs)
 
std::ostream & operator<< (std::ostream &pOs, const RingBufferIterator &pObj)
 

Member Typedef Documentation

◆ difference_type

template<typename T , typename Allocator = std::allocator<T>>
using ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::difference_type = std::ptrdiff_t

◆ iterator_category

template<typename T , typename Allocator = std::allocator<T>>
using ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::iterator_category = std::random_access_iterator_tag

◆ iterator_concept

template<typename T , typename Allocator = std::allocator<T>>
using ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::iterator_concept = std::random_access_iterator_tag

◆ pointer

template<typename T , typename Allocator = std::allocator<T>>
using ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::pointer = T*

◆ reference

template<typename T , typename Allocator = std::allocator<T>>
using ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::reference = T&

◆ value_type

template<typename T , typename Allocator = std::allocator<T>>
using ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::value_type = T

Constructor & Destructor Documentation

◆ RingBufferIterator() [1/4]

template<typename T , typename Allocator = std::allocator<T>>
ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::RingBufferIterator ( )
default

◆ RingBufferIterator() [2/4]

template<typename T , typename Allocator = std::allocator<T>>
ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::RingBufferIterator ( pointer  pPtr,
bool  pBegin,
bool  pEnd,
const RingBuffer< T, Allocator > *  pParent 
)
inline

◆ RingBufferIterator() [3/4]

template<typename T , typename Allocator = std::allocator<T>>
ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::RingBufferIterator ( const RingBufferIterator pOther)
default

◆ RingBufferIterator() [4/4]

template<typename T , typename Allocator = std::allocator<T>>
ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::RingBufferIterator ( RingBufferIterator &&  pOther)
defaultnoexcept

Member Function Documentation

◆ operator*()

template<typename T , typename Allocator = std::allocator<T>>
reference ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator* ( ) const
inline

◆ operator+()

template<typename T , typename Allocator = std::allocator<T>>
RingBufferIterator ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator+ ( const difference_type  pNum) const
inline

◆ operator++() [1/2]

template<typename T , typename Allocator = std::allocator<T>>
RingBufferIterator & ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator++ ( )
inline

◆ operator++() [2/2]

template<typename T , typename Allocator = std::allocator<T>>
RingBufferIterator ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator++ ( int  )
inline

◆ operator+=()

template<typename T , typename Allocator = std::allocator<T>>
RingBufferIterator & ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator+= ( const difference_type  pNum)
inline

◆ operator-() [1/2]

template<typename T , typename Allocator = std::allocator<T>>
RingBufferIterator ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator- ( const difference_type  pNum) const
inline

◆ operator-() [2/2]

template<typename T , typename Allocator = std::allocator<T>>
difference_type ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator- ( const RingBufferIterator pOther) const
inline

◆ operator--() [1/2]

template<typename T , typename Allocator = std::allocator<T>>
RingBufferIterator & ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator-- ( )
inline

◆ operator--() [2/2]

template<typename T , typename Allocator = std::allocator<T>>
RingBufferIterator ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator-- ( int  )
inline

◆ operator-=()

template<typename T , typename Allocator = std::allocator<T>>
RingBufferIterator & ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator-= ( const difference_type  pNum)
inline

◆ operator->()

template<typename T , typename Allocator = std::allocator<T>>
pointer ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator-> ( ) const
inline

◆ operator<=>()

template<typename T , typename Allocator = std::allocator<T>>
std::strong_ordering ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator<=> ( const RingBufferIterator pOther) const
inline

◆ operator=() [1/2]

template<typename T , typename Allocator = std::allocator<T>>
RingBufferIterator & ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator= ( const RingBufferIterator pOther)
default

◆ operator=() [2/2]

template<typename T , typename Allocator = std::allocator<T>>
RingBufferIterator & ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator= ( RingBufferIterator &&  pOther)
defaultnoexcept

◆ operator==()

template<typename T , typename Allocator = std::allocator<T>>
bool ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator== ( const RingBufferIterator ) const
default

◆ operator[]()

template<typename T , typename Allocator = std::allocator<T>>
reference ArcdpsExtension::RingBuffer< T, Allocator >::RingBufferIterator::operator[] ( const difference_type  pNum) const
inline

Friends And Related Symbol Documentation

◆ operator+

template<typename T , typename Allocator = std::allocator<T>>
RingBufferIterator operator+ ( const difference_type  pLhs,
const RingBufferIterator pRhs 
)
friend

◆ operator<<

template<typename T , typename Allocator = std::allocator<T>>
std::ostream & operator<< ( std::ostream &  pOs,
const RingBufferIterator pObj 
)
friend

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