5 #define SCL_TYPEQUERY_V(ret, fn) \ 7 inline constexpr ret fn(){\ 8 return std::fn<T>::value;\ 11 #define SCL_TYPEQUERY(alias) \ 12 template <class... T>\ 13 using alias##_t = typename std::alias<T...>::type; 21 template <class T,
unsigned N = 0>
23 return std::extent<T, N>::value;
26 template <std::size_t Len, std::size_t Align =
sizeof(char)>
29 template <std::size_t Len,
class... Types>
37 template <
size_t I,
class Tuple>
41 template <
class F,
class... Args>
44 template <
class Signature>
51 #undef SCL_TYPEQUERY_V
Global namespace of the SCL.
#define SCL_TYPEQUERY_V(ret, fn)
#define SCL_TYPEQUERY(alias)
decltype(invoke(std::declval< F >(), std::declval< Args >()...)) invoke_result_t