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

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

Definition at line 208 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 auto Check (int) -> decltype(static_cast< Begin_t< V >>(&V::begin), static_cast< End_t< V >>(&V::end), true)
 
template<typename V >
static constexpr bool Check (...)
 

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 211 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 214 of file TypeTraits.hxx.

Member Function Documentation

◆ Check() [1/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)
inlinestatic

Definition at line 217 of file TypeTraits.hxx.

◆ Check() [2/2]

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

Definition at line 224 of file TypeTraits.hxx.

Member Data Documentation

◆ value

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

Definition at line 229 of file TypeTraits.hxx.


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