Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
RRangeCast.hxx File Reference
#include "ROOT/RSpan.hxx"
#include <cassert>
#include <iterator>
#include <type_traits>
#include <utility>

Classes

struct  ROOT::Internal::RBaseType< T >
class  ROOT::RRangeCast< T, isDynamic, Range_t >
 Wraps any collection that can be used in range-based loops and applies static_cast<T> or dynamic_cast<T> to each element. More...
class  ROOT::Internal::TypedIter< T, WrappedIterator_t, isDynamic >

Namespaces

namespace  ROOT
namespace  ROOT::Internal

Functions

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])

Detailed Description

Author
Jonas Rembser jonas.nosp@m..rem.nosp@m.bser@.nosp@m.cern.nosp@m..ch
Date
2021-08-04

Definition in file RRangeCast.hxx.