|
template<typename > |
constexpr bool | ROOT::Internal::hasBeginEnd (...) |
|
template<typename T > |
constexpr auto | ROOT::Internal::hasBeginEnd (int) -> decltype(std::begin(std::declval< T >()), std::end(std::declval< T >()), true) |
|
template<typename T , typename Range_t > |
RRangeCast< T, true, Range_t > | ROOT::RangeDynCast (Range_t &&coll) |
| Takes any collection that can be used in range-based loops and applies dynamic_cast<T> to each element.
|
|
template<typename T , typename U , std::size_t N> |
RRangeCast< T, true, std::span< U > > | ROOT::RangeDynCast (U(&arr)[N]) |
|
template<typename T , typename Range_t > |
RRangeCast< T, false, Range_t > | ROOT::RangeStaticCast (Range_t &&coll) |
| Takes any collection that can be used in range-based loops and applies static_cast<T> to each element.
|
|
template<typename T , typename U , std::size_t N> |
RRangeCast< T, false, std::span< U > > | ROOT::RangeStaticCast (U(&arr)[N]) |
|