30#ifndef BASE_TYPETRAITS_HH
31#define BASE_TYPETRAITS_HH
55template<
typename C,
typename R,
class... A>
62template<
typename C,
typename R,
class... A>
69template<
typename C,
typename R,
class... A>
76template<
typename C,
typename R,
class... A>
97template <
typename,
typename =
void>
102 std::void_t<decltype(begin(std::declval<T>())),
103 decltype(end(std::declval<T>()))>>: std::true_type {};
109template <
typename,
typename =
void>
114 std::void_t<decltype(std::hash<T>())>>: std::true_type {};
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
constexpr bool is_iterable_v
typename MemberFunctionSignature< decltype(F)>::class_t MemberFunctionClass_t
typename MemberFunctionSignature< decltype(F)>::argsTuple_t MemberFunctionArgsTuple_t
typename MemberFunctionSignature< decltype(F)>::return_t MemberFunctionReturn_t
constexpr bool is_std_hash_enabled_v
Overload hash function for BasicBlockRange type.
std::add_const_t< C > class_t
std::tuple< A... > argsTuple_t
std::tuple< A... > argsTuple_t
std::add_cv_t< C > class_t
std::add_volatile_t< C > class_t
std::tuple< A... > argsTuple_t
std::tuple< A... > argsTuple_t