VPTissue Reference Manual
|
Implementation of a circular iterator. More...
#include <CircularIteratorImpl.h>
Public Types | |
using | base_type = T |
using | type = CircularIterator< T, V, P, R > |
Public Member Functions | |
CircularIterator (base_type b, base_type e, base_type i) | |
Constructor requires range and start value. More... | |
base_type | get () const |
Return underlying base type iterator. More... | |
operator base_type () const | |
Conversion to return iterator to its base type. More... | |
bool | operator!= (const type &rhs) const |
Inequality test of the pointing iterator only, not of the range iterators. More... | |
bool | operator!= (const base_type &rhs) const |
Inequality test of the pointing iterator only, not of the range iterators. More... | |
type::reference | operator* () const |
Dereferencing operator. More... | |
type & | operator++ () |
Pre-increment operator works circularly: at the end of the range it jumps back to the beginning and keeps going. More... | |
type | operator++ (int) |
Post-increment operator works circularly: at the end of the range it jumps back to the beginning and keeps going. More... | |
type & | operator-- () |
Pre-decrement operator works circularly: at the beginning of the range it jumps to the end and keeps going. More... | |
type | operator-- (int) |
Post-decrement operator works circularly: at the beginning of the range it jumps to the end and keeps going. More... | |
type::pointer | operator-> () const |
Structure dereferencing operator. More... | |
type & | operator= (const base_type &i) |
Assignment operator from base type to circularized iterator. More... | |
bool | operator== (const type &rhs) const |
Equality test of the pointing iterator only, not of the range iterators. More... | |
bool | operator== (const base_type &rhs) const |
Equality test of the pointing iterator only, not of the range iterators. More... | |
Protected Attributes | |
base_type | m_begin |
base_type | m_end |
base_type | m_it |
Implementation of a circular iterator.
It will provide both const and non-const iterator.
Template parameters: T iterator type that gets wrapped to be circular. V value type of iterator T (and hence of its container). P pointer-to-V type (can be const qualified). R reference-to-V type (can be const qualified).
Definition at line 38 of file CircularIteratorImpl.h.
|
inline |
Constructor requires range and start value.
b | begin iterator of the range |
e | end iterator of the range |
i | start iterator of circular sequencing |
Definition at line 56 of file CircularIteratorImpl.h.
|
inline |
Return underlying base type iterator.
Definition at line 65 of file CircularIteratorImpl.h.
|
inlineexplicit |
Conversion to return iterator to its base type.
Definition at line 74 of file CircularIteratorImpl.h.
|
inline |
Inequality test of the pointing iterator only, not of the range iterators.
rhs | circular iterator to compare with. |
Definition at line 190 of file CircularIteratorImpl.h.
References SimPT_Sim::Container::Impl_::CircularIterator< T, V, P, R >::operator==().
|
inline |
Inequality test of the pointing iterator only, not of the range iterators.
rhs | circular iterator to compare with. |
Definition at line 201 of file CircularIteratorImpl.h.
References SimPT_Sim::Container::Impl_::CircularIterator< T, V, P, R >::operator==().
|
inline |
Dereferencing operator.
@ return reference (const / non-const depending on template parameters) to value pointed to by iterator.
Definition at line 94 of file CircularIteratorImpl.h.
Referenced by SimPT_Sim::Container::Impl_::CircularIterator< T, V, P, R >::operator->().
|
inline |
Pre-increment operator works circularly: at the end of the range it jumps back to the beginning and keeps going.
Definition at line 114 of file CircularIteratorImpl.h.
|
inline |
Post-increment operator works circularly: at the end of the range it jumps back to the beginning and keeps going.
Definition at line 128 of file CircularIteratorImpl.h.
|
inline |
Pre-decrement operator works circularly: at the beginning of the range it jumps to the end and keeps going.
Definition at line 140 of file CircularIteratorImpl.h.
|
inline |
Post-decrement operator works circularly: at the beginning of the range it jumps to the end and keeps going.
Definition at line 154 of file CircularIteratorImpl.h.
|
inline |
Structure dereferencing operator.
Definition at line 104 of file CircularIteratorImpl.h.
References SimPT_Sim::Container::Impl_::CircularIterator< T, V, P, R >::operator*().
|
inline |
Assignment operator from base type to circularized iterator.
Definition at line 83 of file CircularIteratorImpl.h.
|
inline |
Equality test of the pointing iterator only, not of the range iterators.
rhs | circular iterator to compare with. |
Definition at line 167 of file CircularIteratorImpl.h.
Referenced by SimPT_Sim::Container::Impl_::CircularIterator< T, V, P, R >::operator!=().
|
inline |
Equality test of the pointing iterator only, not of the range iterators.
rhs | circular iterator to compare with. |
Definition at line 179 of file CircularIteratorImpl.h.