emlabcpp
modern opinionated embedded C++ library
emlabcpp::static_circular_buffer_iterator< T > Class Template Reference

#include <static_circular_buffer.h>

+ Inheritance diagram for emlabcpp::static_circular_buffer_iterator< T >:
+ Collaboration diagram for emlabcpp::static_circular_buffer_iterator< T >:

Public Types

using value_type = T
 
using reference = std::conditional_t< is_const, value_type const &, value_type & >
 
using const_reference = value_type const &
 
using difference_type = typename std::iterator_traits< static_circular_buffer_iterator< T > >::difference_type
 

Public Member Functions

 static_circular_buffer_iterator (T *beg, T *end, T *p) noexcept
 
 static_circular_buffer_iterator (static_circular_buffer_iterator const &) noexcept=default
 
 static_circular_buffer_iterator (static_circular_buffer_iterator &&) noexcept=default
 
static_circular_buffer_iteratoroperator= (static_circular_buffer_iterator const &) noexcept=default
 
static_circular_buffer_iteratoroperator= (static_circular_buffer_iterator &&) noexcept=default
 
reference operator* () noexcept
 
reference operator* () const noexcept
 
static_circular_buffer_iteratoroperator++ () noexcept
 
static_circular_buffer_iteratoroperator-- () noexcept
 
auto operator<=> (static_circular_buffer_iterator const &other) const noexcept
 
bool operator== (static_circular_buffer_iterator const &other) const noexcept
 

Static Public Attributes

static constexpr bool is_const = std::is_const_v< T >
 

Member Typedef Documentation

◆ const_reference

template<typename T >
using emlabcpp::static_circular_buffer_iterator< T >::const_reference = value_type const&

◆ difference_type

template<typename T >
using emlabcpp::static_circular_buffer_iterator< T >::difference_type = typename std::iterator_traits< static_circular_buffer_iterator< T > >::difference_type

◆ reference

template<typename T >
using emlabcpp::static_circular_buffer_iterator< T >::reference = std::conditional_t< is_const, value_type const&, value_type& >

◆ value_type

template<typename T >
using emlabcpp::static_circular_buffer_iterator< T >::value_type = T

Constructor & Destructor Documentation

◆ static_circular_buffer_iterator() [1/3]

template<typename T >
emlabcpp::static_circular_buffer_iterator< T >::static_circular_buffer_iterator ( T *  beg,
T *  end,
T *  p 
)
inlinenoexcept

◆ static_circular_buffer_iterator() [2/3]

◆ static_circular_buffer_iterator() [3/3]

Member Function Documentation

◆ operator*() [1/2]

template<typename T >
reference emlabcpp::static_circular_buffer_iterator< T >::operator* ( ) const
inlinenoexcept

◆ operator*() [2/2]

template<typename T >
reference emlabcpp::static_circular_buffer_iterator< T >::operator* ( )
inlinenoexcept

◆ operator++()

template<typename T >
static_circular_buffer_iterator& emlabcpp::static_circular_buffer_iterator< T >::operator++ ( )
inlinenoexcept

◆ operator--()

template<typename T >
static_circular_buffer_iterator& emlabcpp::static_circular_buffer_iterator< T >::operator-- ( )
inlinenoexcept

◆ operator<=>()

template<typename T >
auto emlabcpp::static_circular_buffer_iterator< T >::operator<=> ( static_circular_buffer_iterator< T > const &  other) const
inlinenoexcept

◆ operator=() [1/2]

template<typename T >
static_circular_buffer_iterator& emlabcpp::static_circular_buffer_iterator< T >::operator= ( static_circular_buffer_iterator< T > &&  )
defaultnoexcept

◆ operator=() [2/2]

template<typename T >
static_circular_buffer_iterator& emlabcpp::static_circular_buffer_iterator< T >::operator= ( static_circular_buffer_iterator< T > const &  )
defaultnoexcept

◆ operator==()

template<typename T >
bool emlabcpp::static_circular_buffer_iterator< T >::operator== ( static_circular_buffer_iterator< T > const &  other) const
inlinenoexcept

Member Data Documentation

◆ is_const

template<typename T >
constexpr bool emlabcpp::static_circular_buffer_iterator< T >::is_const = std::is_const_v< T >
staticconstexpr

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