Wraps any collection that can be used in range-based loops and applies static_cast<T> or dynamic_cast<T> to each element.
| T | The new type to convert to. |
| isDynamic | If true, dynamic_cast is used, otherwise static_cast is used. |
| Range_t | The type of the input range, which should be usually a reference type to avoid copying. |
Definition at line 94 of file RRangeCast.hxx.
Public Types | |
| using | const_iterator = Internal::TypedIter<T, decltype(std::cbegin(std::declval<Range_t>())), isDynamic> |
| using | iterator = Internal::TypedIter<T, decltype(std::begin(std::declval<Range_t>())), isDynamic> |
Public Member Functions | |
| RRangeCast (Range_t &&inputRange) | |
| iterator | begin () |
| const_iterator | begin () const |
| iterator | end () |
| const_iterator | end () const |
Private Attributes | |
| Range_t | fInputRange |
#include <ROOT/RRangeCast.hxx>
| using ROOT::RRangeCast< T, isDynamic, Range_t >::const_iterator = Internal::TypedIter<T, decltype(std::cbegin(std::declval<Range_t>())), isDynamic> |
Definition at line 103 of file RRangeCast.hxx.
| using ROOT::RRangeCast< T, isDynamic, Range_t >::iterator = Internal::TypedIter<T, decltype(std::begin(std::declval<Range_t>())), isDynamic> |
Definition at line 107 of file RRangeCast.hxx.
|
inline |
Definition at line 97 of file RRangeCast.hxx.
|
inline |
Definition at line 108 of file RRangeCast.hxx.
|
inline |
Definition at line 104 of file RRangeCast.hxx.
|
inline |
Definition at line 109 of file RRangeCast.hxx.
|
inline |
Definition at line 105 of file RRangeCast.hxx.
|
private |
Definition at line 112 of file RRangeCast.hxx.