7 #if !defined(CNL_IMPL_NUM_TRAITS_SET_ROUNDING_H)
8 #define CNL_IMPL_NUM_TRAITS_SET_ROUNDING_H
10 #include "../type_traits/remove_cvref.h"
11 #include "is_composite.h"
14 #include <type_traits>
21 template<
typename Number, rounding_tag RoundingTag>
24 template<
typename Number>
26 : std::type_identity<Number> {
29 template<
typename Number, rounding_tag RoundingTag>
34 template<
typename Number, rounding_tag RoundingTag>
35 struct set_rounding<Number&, RoundingTag> : set_rounding<Number, RoundingTag> {
38 template<
typename Number, rounding_tag RoundingTag>
39 struct set_rounding<Number&&, RoundingTag> : set_rounding<Number, RoundingTag> {
45 template<
typename Number, rounding_tag RoundingTag>
49 #endif // CNL_IMPL_NUM_TRAITS_SET_ROUNDING_H