Logo ROOT  
Reference Guide
ROOT::TypeTraits::HasBeginAndEnd< T > Struct Template Reference

template<typename T>
struct ROOT::TypeTraits::HasBeginAndEnd< T >

Definition at line 172 of file TypeTraits.hxx.

Public Types

template<typename V >
using Begin_t = typename V::const_iterator(V::*)() const
 
template<typename V >
using End_t = typename V::const_iterator(V::*)() const
 

Static Public Member Functions

template<typename V >
static constexpr bool Check (...)
 
template<typename V >
static constexpr auto Check (int) -> decltype(static_cast< Begin_t< V > >(&V::begin), static_cast< End_t< V > >(&V::end), true)
 

Static Public Attributes

static constexpr bool const value = Check<T>(0)
 

#include <ROOT/TypeTraits.hxx>

Member Typedef Documentation

◆ Begin_t

template<typename T >
template<typename V >
using ROOT::TypeTraits::HasBeginAndEnd< T >::Begin_t = typename V::const_iterator (V::*)() const

Definition at line 175 of file TypeTraits.hxx.

◆ End_t

template<typename T >
template<typename V >
using ROOT::TypeTraits::HasBeginAndEnd< T >::End_t = typename V::const_iterator (V::*)() const

Definition at line 178 of file TypeTraits.hxx.

Member Function Documentation

◆ Check() [1/2]

template<typename T >
template<typename V >
static constexpr bool ROOT::TypeTraits::HasBeginAndEnd< T >::Check (   ...)
inlinestaticconstexpr

Definition at line 188 of file TypeTraits.hxx.

◆ Check() [2/2]

template<typename T >
template<typename V >
static constexpr auto ROOT::TypeTraits::HasBeginAndEnd< T >::Check ( int  ) -> decltype(static_cast<Begin_t<V>>(&V::begin), static_cast<End_t<V>>(&V::end), true)
inlinestaticconstexpr

Definition at line 181 of file TypeTraits.hxx.

Member Data Documentation

◆ value

template<typename T >
constexpr bool const ROOT::TypeTraits::HasBeginAndEnd< T >::value = Check<T>(0)
staticconstexpr

Definition at line 193 of file TypeTraits.hxx.

Collaboration diagram for ROOT::TypeTraits::HasBeginAndEnd< T >:
[legend]

The documentation for this struct was generated from the following file: