ATLAS Offline Software
Loading...
Searching...
No Matches
impl::class_can_be_tuple< Check > Struct Template Reference

#include <CaloGPUClusterAndCellDataMonitorOptions.h>

Collaboration diagram for impl::class_can_be_tuple< Check >:

Public Types

template<class T>
using tuple_type_checker_type = decltype( tuple_type_checker<T>(nullptr) )

Static Public Member Functions

template<class T>
static constexpr auto tuple_type_checker (T *) -> decltype(typename T::TupleType {})
template<class T>
static constexpr void tuple_type_checker (...)
template<class T>
static constexpr auto to_tuple_checker (T *) -> decltype(&T::to_tuple)
template<class T>
static constexpr void to_tuple_checker (...)
template<class T>
static constexpr auto from_tuple_checker (T *) -> decltype(&T::from_tuple)
template<class T>
static constexpr void from_tuple_checker (...)
template<class T>
static constexpr auto tuple_size_checker (T *) -> decltype(T::TupleSize)
template<class T>
static constexpr void tuple_size_checker (...)

Static Public Attributes

template<class T>
static constexpr bool tuple_type_exists = !std::is_same_v<tuple_type_checker_type<T>, void>
template<class T>
static constexpr bool to_tuple_exists = std::is_pointer_v<decltype( to_tuple_checker<T>(nullptr) )>
template<class T>
static constexpr bool from_tuple_exists = std::is_pointer_v<decltype( from_tuple_checker<T>(nullptr) )>
template<class T>
static constexpr bool tuple_size_exists = !std::is_void_v<decltype(tuple_size_checker<T>(nullptr))>
static constexpr bool value = tuple_type_exists<Check> && to_tuple_exists<Check> && from_tuple_exists<Check> && tuple_size_exists<Check>

Detailed Description

template<class Check>
struct impl::class_can_be_tuple< Check >

Definition at line 47 of file CaloGPUClusterAndCellDataMonitorOptions.h.

Member Typedef Documentation

◆ tuple_type_checker_type

template<class Check>
template<class T>
using impl::class_can_be_tuple< Check >::tuple_type_checker_type = decltype( tuple_type_checker<T>(nullptr) )

Definition at line 53 of file CaloGPUClusterAndCellDataMonitorOptions.h.

Member Function Documentation

◆ from_tuple_checker() [1/2]

template<class Check>
template<class T>
constexpr void impl::class_can_be_tuple< Check >::from_tuple_checker ( ...)
inlinestaticconstexpr

◆ from_tuple_checker() [2/2]

template<class Check>
template<class T>
constexpr auto impl::class_can_be_tuple< Check >::from_tuple_checker ( T * ) -> decltype(&T::from_tuple)
inlinestaticconstexpr

◆ to_tuple_checker() [1/2]

template<class Check>
template<class T>
constexpr void impl::class_can_be_tuple< Check >::to_tuple_checker ( ...)
inlinestaticconstexpr

◆ to_tuple_checker() [2/2]

template<class Check>
template<class T>
constexpr auto impl::class_can_be_tuple< Check >::to_tuple_checker ( T * ) -> decltype(&T::to_tuple)
inlinestaticconstexpr

◆ tuple_size_checker() [1/2]

template<class Check>
template<class T>
constexpr void impl::class_can_be_tuple< Check >::tuple_size_checker ( ...)
inlinestaticconstexpr

◆ tuple_size_checker() [2/2]

template<class Check>
template<class T>
constexpr auto impl::class_can_be_tuple< Check >::tuple_size_checker ( T * ) -> decltype(T::TupleSize)
inlinestaticconstexpr

◆ tuple_type_checker() [1/2]

template<class Check>
template<class T>
constexpr void impl::class_can_be_tuple< Check >::tuple_type_checker ( ...)
inlinestaticconstexpr

◆ tuple_type_checker() [2/2]

template<class Check>
template<class T>
constexpr auto impl::class_can_be_tuple< Check >::tuple_type_checker ( T * ) -> decltype(typename T::TupleType {})
inlinestaticconstexpr

Member Data Documentation

◆ from_tuple_exists

template<class Check>
template<class T>
bool impl::class_can_be_tuple< Check >::from_tuple_exists = std::is_pointer_v<decltype( from_tuple_checker<T>(nullptr) )>
inlinestaticconstexpr

Definition at line 69 of file CaloGPUClusterAndCellDataMonitorOptions.h.

◆ to_tuple_exists

template<class Check>
template<class T>
bool impl::class_can_be_tuple< Check >::to_tuple_exists = std::is_pointer_v<decltype( to_tuple_checker<T>(nullptr) )>
inlinestaticconstexpr

Definition at line 62 of file CaloGPUClusterAndCellDataMonitorOptions.h.

◆ tuple_size_exists

template<class Check>
template<class T>
bool impl::class_can_be_tuple< Check >::tuple_size_exists = !std::is_void_v<decltype(tuple_size_checker<T>(nullptr))>
inlinestaticconstexpr

Definition at line 76 of file CaloGPUClusterAndCellDataMonitorOptions.h.

◆ tuple_type_exists

template<class Check>
template<class T>
bool impl::class_can_be_tuple< Check >::tuple_type_exists = !std::is_same_v<tuple_type_checker_type<T>, void>
inlinestaticconstexpr

Definition at line 55 of file CaloGPUClusterAndCellDataMonitorOptions.h.

◆ value

template<class Check>
bool impl::class_can_be_tuple< Check >::value = tuple_type_exists<Check> && to_tuple_exists<Check> && from_tuple_exists<Check> && tuple_size_exists<Check>
inlinestaticconstexpr

Definition at line 78 of file CaloGPUClusterAndCellDataMonitorOptions.h.


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