7 #if !defined(CNL_IMPL_NUM_TRAITS_IS_COMPOSITE_H)
8 #define CNL_IMPL_NUM_TRAITS_IS_COMPOSITE_H
10 #include <type_traits>
20 constexpr
auto is_composite_v = is_composite<T>::value;
26 template<
class... Args>
33 template<
class ArgHead,
class... ArgTail>
34 struct are_composite<ArgHead, ArgTail...>
36 bool, is_composite<typename std::decay<ArgHead>::type>::value
37 || are_composite<ArgTail...>::value> {
42 #endif // CNL_IMPL_NUM_TRAITS_IS_COMPOSITE_H