12 #include <type_traits>
19 namespace TrackFindingCDC {
22 template<
typename... Ts>
26 template<
typename,
template<
typename...>
class,
typename...>
27 struct DetectPropertyImpl : std::false_type {};
30 template<
template<
class...>
class AToPredicate,
typename... Ts>
31 struct DetectPropertyImpl<ToVoid<AToPredicate<Ts...>>, AToPredicate, Ts...> : std::true_type {};
42 template<
template<
class...>
class AToPredicate,
typename... Ts>
43 constexpr
bool isDetected()
45 return DetectPropertyImpl<ToVoid<>, AToPredicate, Ts...>::value;