28 #ifndef BSL_COMMON_TYPE_HPP 29 #define BSL_COMMON_TYPE_HPP 48 template<
typename... T>
60 template<
typename T1,
typename T2>
61 struct common_type<T1, T2> final
64 using type = decay_t<decltype(true ? declval<T1>() : declval<T2>())>;
67 template<
typename T1,
typename T2,
typename... R>
68 struct common_type<T1, T2, R...> final
71 using type = common_type_t<common_type_t<T1, T2>, R...>;
typename decay< T >::type decay_t
a helper that reduces the verbosity of bsl::decay
Definition: decay.hpp:64
typename common_type< T... >::type common_type_t
a helper that reduces the verbosity of bsl::common_type
Definition: common_type.hpp:49
Provides the member typedef type which is the type that is common between all provided types....
Definition: common_type.hpp:45