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 277 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 297 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 291 of file RangeForWrapper.h.
using util::details::RangeForWrapperBox< RangeRef >::Range_t = typename Traits_t::Range_t |
Definition at line 288 of file RangeForWrapper.h.
using util::details::RangeForWrapperBox< RangeRef >::RangeRef_t = typename Traits_t::RangeRef_t |
Definition at line 287 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 294 of file RangeForWrapper.h.
|
private |
Definition at line 282 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 300 of file RangeForWrapper.h.
|
inline |
Constructor: references the specified range (lvalue reference).
Definition at line 304 of file RangeForWrapper.h.
|
inline |
Constructor: references the specified range (rvalue reference).
Definition at line 309 of file RangeForWrapper.h.
|
inline |
Returns a begin-of-range iterator.
Definition at line 314 of file RangeForWrapper.h.
|
inline |
Definition at line 326 of file RangeForWrapper.h.
|
inline |
Returns a end-of-range iterator.
Definition at line 318 of file RangeForWrapper.h.
|
inline |
Definition at line 328 of file RangeForWrapper.h.
|
inline |
Definition at line 324 of file RangeForWrapper.h.
|
inlineprivate |
Definition at line 358 of file RangeForWrapper.h.
|
inlineprivate |
Definition at line 360 of file RangeForWrapper.h.
|
private |
A reference to the original range.
Definition at line 356 of file RangeForWrapper.h.