Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TypeTraits.hpp File Reference
#include <functional>
#include <string>
#include <type_traits>
+ Include dependency graph for TypeTraits.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Acts::detail::nonesuch
 Helper struct which cannot be constructed (or destroyed) at all. More...
 
struct  Acts::detail::detector< Default, AlwaysVoid, Op, Args >
 
struct  Acts::detail::detector< Default, std::void_t< Op< Args...> >, Op, Args...>
 

Namespaces

namespace  Acts
 Acts includes to create all necessary definitions.
 
namespace  Acts::detail
 These functions perform the transport of a covariance matrix using given Jacobians. The required data is provided by the stepper object with some additional data. Since this is a purely algebraic problem the calculations are identical for StraightLineStepper and EigenStepper. As a consequence the methods can be located in a separate file.
 
namespace  Acts::Concepts
 

Macros

#define METHOD_TRAIT(trait_name, method_name)
 

Typedefs

template<template< class...> class Op, class... Args>
using Acts::Concepts::is_detected = typename detail::detector< detail::nonesuch, void, Op, Args...>::value_t
 
template<template< class...> class Op, class... Args>
using Acts::Concepts::detected_t = typename detail::detector< detail::nonesuch, void, Op, Args...>::type
 
template<class Expected , template< class...> class Op, class... Args>
using Acts::Concepts::is_detected_exact = std::is_same< Expected, detected_t< Op, Args...>>
 
template<class To , template< class...> class Op, class... Args>
using Acts::Concepts::is_detected_convertible = std::is_convertible< detected_t< Op, Args...>, To >
 
template<class Default , template< class...> class Op, class... Args>
using Acts::Concepts::detected_or = detail::detector< Default, void, Op, Args...>
 

Variables

template<bool... Bs>
constexpr bool Acts::Concepts::require = std::conjunction<std::bool_constant<Bs>...>::value
 
template<bool... Bs>
constexpr bool Acts::Concepts::either = std::disjunction<std::bool_constant<Bs>...>::value
 
template<bool... Bs>
constexpr bool Acts::Concepts::disallow = not require<Bs...>
 
template<template< class...> class Op, class... Args>
constexpr bool Acts::Concepts::exists = is_detected<Op, Args...>::value
 
template<class To , template< class...> class Op, class... Args>
constexpr bool Acts::Concepts::converts_to = is_detected_convertible<To, Op, Args...>::value
 
template<class Exact , template< class...> class Op, class... Args>
constexpr bool Acts::Concepts::identical_to = is_detected_exact<Exact, Op, Args...>::value
 
template<typename T , typename R , template< class...> class M, typename... Arguments>
constexpr bool Acts::Concepts::has_method = M<T, R, Arguments...>::template tv<T>::value
 
template<typename T , template< class...> class M, typename V >
constexpr bool Acts::Concepts::has_member = identical_to<V, M, T>
 

Macro Definition Documentation

#define METHOD_TRAIT (   trait_name,
  method_name 
)