Logo ROOT   6.12/07
Reference Guide
Classes | Namespaces | Functions
TypeTraits.hxx File Reference
#include <memory>
#include <type_traits>
#include <vector>
#include "ROOT/RArrayView.hxx"
Include dependency graph for TypeTraits.hxx:
This graph shows which files directly or indirectly include this file:

Classes

struct  ROOT::Detail::CallableTraitsImpl< T, HasCallOp >
 Extract types from the signature of a callable object. See CallableTraits. More...
 
struct  ROOT::Detail::CallableTraitsImpl< R(*)(Args...), false >
 
struct  ROOT::Detail::CallableTraitsImpl< R(Args...), false >
 
struct  ROOT::Detail::CallableTraitsImpl< R(T::*)(Args...) const, false >
 
struct  ROOT::Detail::CallableTraitsImpl< R(T::*)(Args...), false >
 
struct  ROOT::Detail::CallableTraitsImpl< T, true >
 
struct  ROOT::TypeTraits::IsContainer< T >
 Check for container traits. More...
 
struct  ROOT::TypeTraits::IsContainer< std::array_view< T > >
 
class  ROOT::TypeTraits::IsSmartOrDumbPtr< T >
 
class  ROOT::TypeTraits::IsSmartOrDumbPtr< std::shared_ptr< P > >
 
class  ROOT::TypeTraits::IsSmartOrDumbPtr< std::unique_ptr< P > >
 
struct  ROOT::TypeTraits::RemoveFirst< T, Rest >
 
struct  ROOT::TypeTraits::RemoveFirstParameter< typename >
 Remove first of possibly many template parameters. More...
 
struct  ROOT::TypeTraits::RemoveFirstParameter< U< T, Rest... > >
 
struct  ROOT::TypeTraits::TakeFirstParameter< T >
 Return first of possibly many template parameters. More...
 
struct  ROOT::TypeTraits::TakeFirstParameter< Template< T, Rest... > >
 
struct  ROOT::TypeTraits::TakeFirstType< T, Rest >
 
struct  ROOT::TypeTraits::TypeList< Types >
 Lightweight storage for a collection of types. More...
 

Namespaces

 ROOT
 Namespace for new ROOT classes and functions.
 
 ROOT::Detail
 
 ROOT::TypeTraits
 ROOT type_traits extensions.
 

Functions

template<typename T >
constexpr auto ROOT::Detail::HasCallOp (int) -> decltype(&T::operator(), true)
 
template<typename T >
constexpr bool ROOT::Detail::HasCallOp (char)