LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "RangeForWrapper.h"
Classes | |
struct | Comparer |
Visitor to compare iterators (returns whether they differ). More... | |
struct | Decrementer |
Visitor to decrement an iterator. More... | |
struct | Dereferencer |
Visitor to dereference an iterator. More... | |
struct | Difference |
Visitor to compare iterators (returns whether they differ). More... | |
struct | Incrementer |
Visitor to increment an iterator. More... | |
struct | IndexAccessor |
Visitor to access element by index. More... | |
struct | MemberAccessor |
Visitor to access a data member of the pointed class. More... | |
Public Types | |
using | begin_t = BeginIter |
Type of begin iterator we can store. More... | |
using | end_t = EndIter |
Type of end iterator we can store. More... | |
using | this_t = RangeForWrapperIterator< begin_t, end_t > |
This class. More... | |
using | difference_type = typename traits_t::difference_type |
Iterator traits, imported from the wrapped begin iterator. More... | |
using | value_type = typename traits_t::value_type |
Iterator traits, imported from the wrapped begin iterator. More... | |
using | pointer = typename traits_t::pointer |
Iterator traits, imported from the wrapped begin iterator. More... | |
using | reference = typename traits_t::reference |
Iterator traits, imported from the wrapped begin iterator. More... | |
using | iterator_category = std::conditional_t< std::is_base_of< std::bidirectional_iterator_tag, typename traits_t::iterator_category >::value, std::bidirectional_iterator_tag, typename traits_t::iterator_category > |
Iterator traits, imported from the wrapped begin iterator. More... | |
Public Member Functions | |
RangeForWrapperIterator () | |
Constructor: initializes with a end-type default-constructed iterator. More... | |
RangeForWrapperIterator (begin_t &&begin) | |
Constructor: initializes with a begin-type iterator. More... | |
RangeForWrapperIterator (end_t &&end) | |
Constructor: initializes with a end-type iterator. More... | |
reference | operator* () const |
Returns the pointed value (just like the original iterator). More... | |
pointer | operator-> () const |
Returns the pointed value (just like the original iterator). More... | |
this_t & | operator++ () |
Increments the iterator (prefix operator). More... | |
this_t & | operator-- () |
Decrements the iterator (prefix operator). More... | |
this_t | operator++ (int) |
Increments the iterator (postfix operator). More... | |
this_t | operator-- (int) |
Decrements the iterator (postfix operator). More... | |
bool | operator!= (this_t const &other) const |
Returns whether the other iterator is not equal to this one. More... | |
bool | operator== (this_t const &other) const |
Returns whether the other iterator is equal to this one. More... | |
reference | operator[] (difference_type offset) const |
difference_type | operator- (this_t const &other) const |
Private Types | |
using | traits_t = std::iterator_traits< BeginIter > |
Private Attributes | |
boost::variant< begin_t, end_t > | fIter |
The actual iterator we store. More... | |
Iterator wrapping one of two types of iterators.
Definition at line 30 of file RangeForWrapper.h.
using util::details::RangeForWrapperIterator< BeginIter, EndIter >::begin_t = BeginIter |
Type of begin iterator we can store.
Definition at line 35 of file RangeForWrapper.h.
using util::details::RangeForWrapperIterator< BeginIter, EndIter >::difference_type = typename traits_t::difference_type |
Iterator traits, imported from the wrapped begin iterator.
Definition at line 41 of file RangeForWrapper.h.
using util::details::RangeForWrapperIterator< BeginIter, EndIter >::end_t = EndIter |
Type of end iterator we can store.
Definition at line 36 of file RangeForWrapper.h.
using util::details::RangeForWrapperIterator< BeginIter, EndIter >::iterator_category = std::conditional_t<std::is_base_of<std::bidirectional_iterator_tag, typename traits_t::iterator_category>::value, std::bidirectional_iterator_tag, typename traits_t::iterator_category> |
Iterator traits, imported from the wrapped begin iterator.
Definition at line 56 of file RangeForWrapper.h.
using util::details::RangeForWrapperIterator< BeginIter, EndIter >::pointer = typename traits_t::pointer |
Iterator traits, imported from the wrapped begin iterator.
Definition at line 43 of file RangeForWrapper.h.
using util::details::RangeForWrapperIterator< BeginIter, EndIter >::reference = typename traits_t::reference |
Iterator traits, imported from the wrapped begin iterator.
Definition at line 44 of file RangeForWrapper.h.
using util::details::RangeForWrapperIterator< BeginIter, EndIter >::this_t = RangeForWrapperIterator<begin_t, end_t> |
This class.
Definition at line 37 of file RangeForWrapper.h.
|
private |
Definition at line 32 of file RangeForWrapper.h.
using util::details::RangeForWrapperIterator< BeginIter, EndIter >::value_type = typename traits_t::value_type |
Iterator traits, imported from the wrapped begin iterator.
Definition at line 42 of file RangeForWrapper.h.
|
inlineexplicit |
Constructor: initializes with a end-type default-constructed iterator.
Definition at line 60 of file RangeForWrapper.h.
|
inlineexplicit |
Constructor: initializes with a begin-type iterator.
Definition at line 63 of file RangeForWrapper.h.
|
inlineexplicit |
Constructor: initializes with a end-type iterator.
Definition at line 66 of file RangeForWrapper.h.
|
inline |
Returns whether the other iterator is not equal to this one.
Definition at line 105 of file RangeForWrapper.h.
References util::details::RangeForWrapperIterator< BeginIter, EndIter >::fIter.
Referenced by util::details::RangeForWrapperIterator< BeginIter, EndIter >::operator==().
|
inline |
Returns the pointed value (just like the original iterator).
Definition at line 69 of file RangeForWrapper.h.
References util::details::RangeForWrapperIterator< BeginIter, EndIter >::fIter.
|
inline |
Increments the iterator (prefix operator).
Definition at line 75 of file RangeForWrapper.h.
References util::details::RangeForWrapperIterator< BeginIter, EndIter >::fIter.
Referenced by util::details::RangeForWrapperIterator< BeginIter, EndIter >::operator++().
|
inline |
Increments the iterator (postfix operator).
Definition at line 89 of file RangeForWrapper.h.
References util::details::RangeForWrapperIterator< BeginIter, EndIter >::operator++().
|
inline |
Definition at line 118 of file RangeForWrapper.h.
References util::details::RangeForWrapperIterator< BeginIter, EndIter >::fIter, and value.
|
inline |
Decrements the iterator (prefix operator).
Definition at line 82 of file RangeForWrapper.h.
References util::details::RangeForWrapperIterator< BeginIter, EndIter >::fIter.
Referenced by util::details::RangeForWrapperIterator< BeginIter, EndIter >::operator--().
|
inline |
Decrements the iterator (postfix operator).
Definition at line 97 of file RangeForWrapper.h.
References util::details::RangeForWrapperIterator< BeginIter, EndIter >::operator--().
|
inline |
Returns the pointed value (just like the original iterator).
Definition at line 72 of file RangeForWrapper.h.
References util::details::RangeForWrapperIterator< BeginIter, EndIter >::fIter.
|
inline |
Returns whether the other iterator is equal to this one.
Definition at line 111 of file RangeForWrapper.h.
References util::details::RangeForWrapperIterator< BeginIter, EndIter >::operator!=().
|
inline |
Definition at line 113 of file RangeForWrapper.h.
References util::details::RangeForWrapperIterator< BeginIter, EndIter >::fIter.
|
private |
The actual iterator we store.
Definition at line 125 of file RangeForWrapper.h.
Referenced by util::details::RangeForWrapperIterator< BeginIter, EndIter >::operator!=(), util::details::RangeForWrapperIterator< BeginIter, EndIter >::operator*(), util::details::RangeForWrapperIterator< BeginIter, EndIter >::operator++(), util::details::RangeForWrapperIterator< BeginIter, EndIter >::operator-(), util::details::RangeForWrapperIterator< BeginIter, EndIter >::operator--(), util::details::RangeForWrapperIterator< BeginIter, EndIter >::operator->(), and util::details::RangeForWrapperIterator< BeginIter, EndIter >::operator[]().