NebulaStream  0.6.213
NebulaStream is a data and application management framework for the internet of things
NES::detail::CircularBufferIterator< cbT, isConst > Class Template Reference

The CircularBufferIterator class holds all iterator related typedefs and overloaded operators. The template takes as argument the const-ness (true/false) to avoid having many different types of iterators with the same functionality. More...

#include <CircularBuffer.hpp>

Public Types

using type = CircularBufferIterator< cbT, isConst >
 
using value_type = typename cbT::value_type
 
using difference_type = std::ptrdiff_t
 
using pointer = typename std::conditional_t< isConst, const value_type, value_type > *
 
using reference = typename std::conditional_t< isConst, const value_type, value_type > &
 
using iterator_category = std::random_access_iterator_tag
 

Public Member Functions

 CircularBufferIterator ()=default
 
reference operator* () const noexcept
 
CircularBufferIteratoroperator++ () noexcept
 
CircularBufferIteratoroperator-- () noexcept
 
template<bool C>
bool operator== (const CircularBufferIterator< cbT, C > &rhs) const noexcept
 
template<bool C>
bool operator!= (const CircularBufferIterator< cbT, C > &rhs) const noexcept
 

Friends

CircularBufferIterator operator- (CircularBufferIterator it, int i) noexcept
 
CircularBufferIteratoroperator-= (CircularBufferIterator &it, int i) noexcept
 

Detailed Description

template<class cbT, bool isConst>
class NES::detail::CircularBufferIterator< cbT, isConst >

The CircularBufferIterator class holds all iterator related typedefs and overloaded operators. The template takes as argument the const-ness (true/false) to avoid having many different types of iterators with the same functionality.

Template Parameters
cbTtype of circular buffer
isConstis/is-not const

Member Typedef Documentation

◆ difference_type

template<class cbT , bool isConst>
using NES::detail::CircularBufferIterator< cbT, isConst >::difference_type = std::ptrdiff_t

◆ iterator_category

template<class cbT , bool isConst>
using NES::detail::CircularBufferIterator< cbT, isConst >::iterator_category = std::random_access_iterator_tag

◆ pointer

template<class cbT , bool isConst>
using NES::detail::CircularBufferIterator< cbT, isConst >::pointer = typename std::conditional_t<isConst, const value_type, value_type>*

◆ reference

template<class cbT , bool isConst>
using NES::detail::CircularBufferIterator< cbT, isConst >::reference = typename std::conditional_t<isConst, const value_type, value_type>&

◆ type

template<class cbT , bool isConst>
using NES::detail::CircularBufferIterator< cbT, isConst >::type = CircularBufferIterator<cbT, isConst>

◆ value_type

template<class cbT , bool isConst>
using NES::detail::CircularBufferIterator< cbT, isConst >::value_type = typename cbT::value_type

Constructor & Destructor Documentation

◆ CircularBufferIterator()

template<class cbT , bool isConst>
NES::detail::CircularBufferIterator< cbT, isConst >::CircularBufferIterator ( )
default

Member Function Documentation

◆ operator!=()

template<class cbT , bool isConst>
template<bool C>
bool NES::detail::CircularBufferIterator< cbT, isConst >::operator!= ( const CircularBufferIterator< cbT, C > &  rhs) const
inlinenoexcept

◆ operator*()

template<class cbT , bool isConst>
reference NES::detail::CircularBufferIterator< cbT, isConst >::operator* ( ) const
inlinenoexcept

◆ operator++()

template<class cbT , bool isConst>
CircularBufferIterator& NES::detail::CircularBufferIterator< cbT, isConst >::operator++ ( )
inlinenoexcept

◆ operator--()

template<class cbT , bool isConst>
CircularBufferIterator& NES::detail::CircularBufferIterator< cbT, isConst >::operator-- ( )
inlinenoexcept

◆ operator==()

template<class cbT , bool isConst>
template<bool C>
bool NES::detail::CircularBufferIterator< cbT, isConst >::operator== ( const CircularBufferIterator< cbT, C > &  rhs) const
inlinenoexcept

Friends And Related Function Documentation

◆ operator-

template<class cbT , bool isConst>
CircularBufferIterator operator- ( CircularBufferIterator< cbT, isConst >  it,
int  i 
)
friend

◆ operator-=

template<class cbT , bool isConst>
CircularBufferIterator& operator-= ( CircularBufferIterator< cbT, isConst > &  it,
int  i 
)
friend

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