LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Class offering begin/end iterators of the same type out of a range of iterators of different types. More...
#include "RangeForWrapper.h"
Classes | |
struct | DataBox |
Public Types | |
using | RangeRef_t = typename Traits_t::RangeRef_t |
using | Range_t = typename Traits_t::Range_t |
using | Iterator_t = typename Traits_t::Iterator_t |
Type of wrapper iterators (same for begin and end iterators). More... | |
using | size_type = typename Traits_t::size_type |
Type of number of stored elements. More... | |
using | difference_type = typename Traits_t::difference_type |
Type of difference between element positions. More... | |
using | value_type = typename Traits_t::value_type |
Type of value contained in the wrapped sequence. More... | |
Public Member Functions | |
RangeForWrapperBox (Range_t &range) | |
Constructor: references the specified range (lvalue reference). More... | |
RangeForWrapperBox (Range_t &&range) | |
Constructor: references the specified range (rvalue reference). More... | |
Iterator_t | begin () const |
Returns a begin-of-range iterator. More... | |
Iterator_t | end () const |
Returns a end-of-range iterator. More... | |
Reduced container interface. | |
auto | size () const |
bool | empty () const |
auto | operator[] (difference_type index) const -> decltype(auto) |
Private Types | |
using | Traits_t = RangeForWrapperTraits< RangeRef > |
Private Member Functions | |
auto | wrappedBegin () const -> decltype(auto) |
auto | wrappedEnd () const -> decltype(auto) |
Private Attributes | |
DataBox | fRange |
A reference to the original range. More... | |
Class offering begin/end iterators of the same type out of a range of iterators of different types.
RangeRef | type of reference to be stored (constantness embedded) |
The class steals (moves) the value if RangeRef
is a rvalue reference type, while it just references the original one otherwise.
Definition at line 303 of file RangeForWrapper.h.
using util::details::RangeForWrapperBox< RangeRef >::difference_type = typename Traits_t::difference_type |
Type of difference between element positions.
Definition at line 322 of file RangeForWrapper.h.
using util::details::RangeForWrapperBox< RangeRef >::Iterator_t = typename Traits_t::Iterator_t |
Type of wrapper iterators (same for begin and end iterators).
Definition at line 316 of file RangeForWrapper.h.
using util::details::RangeForWrapperBox< RangeRef >::Range_t = typename Traits_t::Range_t |
Definition at line 313 of file RangeForWrapper.h.
using util::details::RangeForWrapperBox< RangeRef >::RangeRef_t = typename Traits_t::RangeRef_t |
Definition at line 312 of file RangeForWrapper.h.
using util::details::RangeForWrapperBox< RangeRef >::size_type = typename Traits_t::size_type |
Type of number of stored elements.
Definition at line 319 of file RangeForWrapper.h.
|
private |
Definition at line 308 of file RangeForWrapper.h.
using util::details::RangeForWrapperBox< RangeRef >::value_type = typename Traits_t::value_type |
Type of value contained in the wrapped sequence.
Definition at line 325 of file RangeForWrapper.h.
|
inline |
Constructor: references the specified range (lvalue reference).
Definition at line 328 of file RangeForWrapper.h.
|
inline |
Constructor: references the specified range (rvalue reference).
Definition at line 331 of file RangeForWrapper.h.
|
inline |
Returns a begin-of-range iterator.
Definition at line 334 of file RangeForWrapper.h.
|
inline |
Definition at line 344 of file RangeForWrapper.h.
|
inline |
Returns a end-of-range iterator.
Definition at line 337 of file RangeForWrapper.h.
|
inline |
Definition at line 346 of file RangeForWrapper.h.
|
inline |
Definition at line 342 of file RangeForWrapper.h.
References util::begin(), and util::end().
|
inlineprivate |
Definition at line 374 of file RangeForWrapper.h.
|
inlineprivate |
Definition at line 378 of file RangeForWrapper.h.
|
private |
A reference to the original range.
Definition at line 372 of file RangeForWrapper.h.