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

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

Check for container traits.

Definition at line 98 of file TypeTraits.hxx.

Public Types

using Test_t = typename std::decay< T >::type
 

Static Public Member Functions

template<typename A >
static constexpr bool Test (...)
 
template<typename A >
static constexpr bool Test (A *pt, A const *cpt=nullptr, decltype(pt->begin()) *=nullptr, decltype(pt->end()) *=nullptr, decltype(cpt->begin()) *=nullptr, decltype(cpt->end()) *=nullptr, typename A::iterator *pi=nullptr, typename A::const_iterator *pci=nullptr)
 

Static Public Attributes

static constexpr bool value = Test<Test_t>(nullptr)
 

#include <ROOT/TypeTraits.hxx>

Member Typedef Documentation

◆ Test_t

template<typename T >
using ROOT::TypeTraits::IsContainer< T >::Test_t = typename std::decay<T>::type

Definition at line 99 of file TypeTraits.hxx.

Member Function Documentation

◆ Test() [1/2]

template<typename T >
template<typename A >
static constexpr bool ROOT::TypeTraits::IsContainer< T >::Test (   ...)
inlinestaticconstexpr

Definition at line 117 of file TypeTraits.hxx.

◆ Test() [2/2]

template<typename T >
template<typename A >
static constexpr bool ROOT::TypeTraits::IsContainer< T >::Test ( A *  pt,
A const *  cpt = nullptr,
decltype(pt->begin()) *  = nullptr,
decltype(pt->end()) *  = nullptr,
decltype(cpt->begin()) *  = nullptr,
decltype(cpt->end()) *  = nullptr,
typename A::iterator *  pi = nullptr,
typename A::const_iterator *  pci = nullptr 
)
inlinestaticconstexpr

Definition at line 102 of file TypeTraits.hxx.

Member Data Documentation

◆ value

template<typename T >
constexpr bool ROOT::TypeTraits::IsContainer< T >::value = Test<Test_t>(nullptr)
staticconstexpr

Definition at line 122 of file TypeTraits.hxx.


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