yoda is hosted by Hepforge, IPPP Durham
YODA - Yet more Objects for Data Analysis 2.0.0
Traits.h File Reference
#include "YODA/AnalysisObject.h"
#include <type_traits>

Go to the source code of this file.

Classes

struct  YODA::Derefable< T, typename >
 SFINAE definition of dereferenceability trait, cf. Boost has_dereference. More...
 
struct  YODA::Derefable< T, std::void_t< decltype(*std::declval< T >())> >
 
struct  YODA::DerefableToAO< T, typename >
 SFINAE struct to check for dereferencing to an AnalysisObject (reference) at compile time. More...
 
struct  YODA::DerefableToAO< T, typename std::conditional< std::is_base_of< AnalysisObject, typename std::decay< decltype(*std::declval< T >()) >::type >::value, AnalysisObject, void >::type >
 
struct  YODA::Iterable< T, typename >
 
struct  YODA::Iterable< T, std::void_t< std::decay_t< decltype(std::begin(std::declval< const T & >()))>, std::decay_t< decltype(std::end(std::declval< const T & >()))> > >
 
struct  YODA::CIterable< T, typename >
 
struct  YODA::CIterable< T, std::void_t< decltype(std::declval< typename T::const_iterator >())> >
 
struct  YODA::Pushable< T, VAL, typename >
 
struct  YODA::Pushable< T, VAL, std::void_t< decltype(std::declval< T >().push_back(std::declval< VAL >()))> >
 
struct  YODA::hasFillDim< T, typename >
 
struct  YODA::hasFillDim< T, std::void_t< decltype(typename T::FillDim{})> >
 

Namespaces

namespace  YODA
 Anonymous namespace to limit visibility.
 

Variables

template<typename... T>
constexpr bool YODA::isIterable = std::conjunction<Iterable<T>...>::value
 
template<typename... T>
constexpr bool YODA::isCIterable = std::conjunction<CIterable<T>...>::value