guanaqo 1.0.0-alpha.26
Utilities for scientific software
Loading...
Searching...
No Matches
guanaqo::ReverseCircularIndexIterator< IndexT > Struct Template Reference

#include <guanaqo/ringbuffer.hpp>

Detailed Description

template<class IndexT = size_t>
struct guanaqo::ReverseCircularIndexIterator< IndexT >

Definition at line 94 of file ringbuffer.hpp.

Collaboration diagram for guanaqo::ReverseCircularIndexIterator< IndexT >:

Public Types

using ForwardIterator = CircularIndexIterator<IndexT>
using Index = typename ForwardIterator::Index
using Indices = typename ForwardIterator::Indices
using value_type = Indices
using reference = value_type
using difference_type = std::ptrdiff_t
using pointer = void
using iterator_category = std::input_iterator_tag

Public Member Functions

 ReverseCircularIndexIterator ()
 ReverseCircularIndexIterator (Indices i, Index max)
 ReverseCircularIndexIterator (ForwardIterator forwardit)
reference operator* () const
ReverseCircularIndexIteratoroperator++ ()
ReverseCircularIndexIteratoroperator-- ()
ReverseCircularIndexIterator operator++ (int)
ReverseCircularIndexIterator operator-- (int)

Public Attributes

ForwardIterator forwardit

(Note that these are not member symbols.)

template<class IndexT>
bool operator== (ReverseCircularIndexIterator< IndexT > a, ReverseCircularIndexIterator< IndexT > b)
template<class IndexT>
bool operator!= (ReverseCircularIndexIterator< IndexT > a, ReverseCircularIndexIterator< IndexT > b)

Member Typedef Documentation

◆ ForwardIterator

template<class IndexT = size_t>
using guanaqo::ReverseCircularIndexIterator< IndexT >::ForwardIterator = CircularIndexIterator<IndexT>

Definition at line 95 of file ringbuffer.hpp.

◆ Index

template<class IndexT = size_t>
using guanaqo::ReverseCircularIndexIterator< IndexT >::Index = typename ForwardIterator::Index

Definition at line 96 of file ringbuffer.hpp.

◆ Indices

template<class IndexT = size_t>
using guanaqo::ReverseCircularIndexIterator< IndexT >::Indices = typename ForwardIterator::Indices

Definition at line 97 of file ringbuffer.hpp.

◆ value_type

template<class IndexT = size_t>
using guanaqo::ReverseCircularIndexIterator< IndexT >::value_type = Indices

Definition at line 106 of file ringbuffer.hpp.

◆ reference

template<class IndexT = size_t>
using guanaqo::ReverseCircularIndexIterator< IndexT >::reference = value_type

Definition at line 107 of file ringbuffer.hpp.

◆ difference_type

template<class IndexT = size_t>
using guanaqo::ReverseCircularIndexIterator< IndexT >::difference_type = std::ptrdiff_t

Definition at line 108 of file ringbuffer.hpp.

◆ pointer

template<class IndexT = size_t>
using guanaqo::ReverseCircularIndexIterator< IndexT >::pointer = void

Definition at line 109 of file ringbuffer.hpp.

◆ iterator_category

template<class IndexT = size_t>
using guanaqo::ReverseCircularIndexIterator< IndexT >::iterator_category = std::input_iterator_tag

Definition at line 110 of file ringbuffer.hpp.

Constructor & Destructor Documentation

◆ ReverseCircularIndexIterator() [1/3]

template<class IndexT = size_t>
guanaqo::ReverseCircularIndexIterator< IndexT >::ReverseCircularIndexIterator ( )
inline

Definition at line 99 of file ringbuffer.hpp.

◆ ReverseCircularIndexIterator() [2/3]

template<class IndexT = size_t>
guanaqo::ReverseCircularIndexIterator< IndexT >::ReverseCircularIndexIterator ( Indices i,
Index max )
inline

Definition at line 100 of file ringbuffer.hpp.

◆ ReverseCircularIndexIterator() [3/3]

template<class IndexT = size_t>
guanaqo::ReverseCircularIndexIterator< IndexT >::ReverseCircularIndexIterator ( ForwardIterator forwardit)
inline

Definition at line 101 of file ringbuffer.hpp.

Member Function Documentation

◆ operator*()

template<class IndexT = size_t>
reference guanaqo::ReverseCircularIndexIterator< IndexT >::operator* ( ) const
inline

Definition at line 112 of file ringbuffer.hpp.

◆ operator++() [1/2]

template<class IndexT = size_t>
ReverseCircularIndexIterator & guanaqo::ReverseCircularIndexIterator< IndexT >::operator++ ( )
inline

Definition at line 116 of file ringbuffer.hpp.

◆ operator--() [1/2]

template<class IndexT = size_t>
ReverseCircularIndexIterator & guanaqo::ReverseCircularIndexIterator< IndexT >::operator-- ( )
inline

Definition at line 120 of file ringbuffer.hpp.

◆ operator++() [2/2]

template<class IndexT = size_t>
ReverseCircularIndexIterator guanaqo::ReverseCircularIndexIterator< IndexT >::operator++ ( int )
inline

Definition at line 124 of file ringbuffer.hpp.

◆ operator--() [2/2]

template<class IndexT = size_t>
ReverseCircularIndexIterator guanaqo::ReverseCircularIndexIterator< IndexT >::operator-- ( int )
inline

Definition at line 129 of file ringbuffer.hpp.

◆ operator==()

template<class IndexT>
bool operator== ( ReverseCircularIndexIterator< IndexT > a,
ReverseCircularIndexIterator< IndexT > b )
related
Note
Only valid for two indices in the same range.

Definition at line 139 of file ringbuffer.hpp.

◆ operator!=()

template<class IndexT>
bool operator!= ( ReverseCircularIndexIterator< IndexT > a,
ReverseCircularIndexIterator< IndexT > b )
related
Note
Only valid for two indices in the same range.

Definition at line 146 of file ringbuffer.hpp.

Member Data Documentation

◆ forwardit

template<class IndexT = size_t>
ForwardIterator guanaqo::ReverseCircularIndexIterator< IndexT >::forwardit

Definition at line 104 of file ringbuffer.hpp.


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