17 #ifndef OPENKALMAN_VALUES_CAST_TO_HPP 18 #define OPENKALMAN_VALUES_CAST_TO_HPP 27 #if __cpp_nontype_template_args < 201911L 30 template<
typename Arg,
typename T>
34 static constexpr
auto value {
static_cast<value_type
>(values::fixed_number_of_v<Arg>)};
36 constexpr
operator value_type()
const {
return value; }
37 constexpr value_type operator()()
const {
return value; }
50 template<values::number T, values::value Arg>
53 template<
typename T,
typename Arg, std::enable_if_t<values::number<T> and values::value<Arg>,
int> = 0>
54 constexpr decltype(
auto)
60 return std::forward<Arg>(arg);
62 else if constexpr (values::fixed<Arg>)
64 constexpr
auto x = values::fixed_number_of_v<Arg>;
65 #if __cpp_nontype_template_args >= 201911L 68 if constexpr (x == static_cast<std::intmax_t>(x))
86 #endif //OPENKALMAN_VALUES_CAST_TO_HPP Definition for values::to_number.
constexpr bool value
T is numerical value or is reducible to a numerical value.
Definition: value.hpp:31
constexpr auto to_number(Arg arg)
Convert any values::value to a values::number.
Definition: to_number.hpp:34
Definition for value:number_type_of_t.
Definition for values::abs.
Definition: constant_coefficient.hpp:25
std::decay_t< decltype(values::to_number(std::declval< T >()))> number_type_of_t
Obtain the values::number type associated with avalues::value.
Definition: number_type_of_t.hpp:34
Definition for values::number.
Definition: cast_to.hpp:31