|
template<typename Arg , std::enable_if_t< value< Arg >, int > = 0> |
constexpr Arg && | OpenKalman::values::operator+ (Arg &&arg) |
|
template<typename Arg , std::enable_if_t< value< Arg >, int > = 0> |
constexpr auto | OpenKalman::values::operator- (Arg arg) |
|
template<typename Arg1 , typename Arg2 , std::enable_if_t< detail::value_common_with< Arg1, Arg2 > and std::is_invocable< std::plus< detail::binary_common_type_t< Arg1, Arg2 >>, Arg1 &&, Arg2 &&>::value, int > = 0> |
constexpr auto | OpenKalman::values::operator+ (Arg1 arg1, Arg2 arg2) |
|
template<typename Arg1 , typename Arg2 , std::enable_if_t< detail::value_common_with< Arg1, Arg2 > and std::is_invocable< std::minus< detail::binary_common_type_t< Arg1, Arg2 >>, Arg1 &&, Arg2 &&>::value, int > = 0> |
constexpr auto | OpenKalman::values::operator- (Arg1 arg1, Arg2 arg2) |
|
template<typename Arg1 , typename Arg2 , std::enable_if_t< detail::value_common_with< Arg1, Arg2 > and std::is_invocable< std::multiplies< detail::binary_common_type_t< Arg1, Arg2 >>, Arg1 &&, Arg2 &&>::value, int > = 0> |
constexpr auto | OpenKalman::values::operator* (Arg1 arg1, Arg2 arg2) |
|
template<typename Arg1 , typename Arg2 , std::enable_if_t< detail::value_common_with< Arg1, Arg2 > and std::is_invocable< std::divides< detail::binary_common_type_t< Arg1, Arg2 >>, Arg1 &&, Arg2 &&>::value, int > = 0> |
constexpr auto | OpenKalman::values::operator/ (Arg1 arg1, Arg2 arg2) |
|
template<typename A , typename B , std::enable_if_t< detail::value_common_with< A, B > and std::is_invocable< std::equal_to< detail::binary_common_type_t< A, B >>, const A &, const B &>::value, int > = 0> |
constexpr bool | OpenKalman::values::operator== (const A &a, const B &b) |
|
template<typename A , typename B , std::enable_if_t< detail::value_common_with< A, B > and std::is_invocable< std::not_equal_to< detail::binary_common_type_t< A, B >>, const A &, const B &>::value, int > = 0> |
constexpr bool | OpenKalman::values::operator!= (const A &a, const B &b) |
|
template<typename A , typename B , std::enable_if_t< detail::value_common_with< A, B > and std::is_invocable< std::less< detail::binary_common_type_t< A, B >>, const A &, const B &>::value, int > = 0> |
constexpr auto | OpenKalman::values::operator< (const A &a, const B &b) |
|
template<typename A , typename B , std::enable_if_t< detail::value_common_with< A, B > and std::is_invocable< std::greater< detail::binary_common_type_t< A, B >>, const A &, const B &>::value, int > = 0> |
constexpr auto | OpenKalman::values::operator> (const A &a, const B &b) |
|
template<typename A , typename B , std::enable_if_t< detail::value_common_with< A, B > and std::is_invocable< std::less_equal< detail::binary_common_type_t< A, B >>, const A &, const B &>::value, int > = 0> |
constexpr auto | OpenKalman::values::operator<= (const A &a, const B &b) |
|
template<typename A , typename B , std::enable_if_t< detail::value_common_with< A, B > and std::is_invocable< std::greater_equal< detail::binary_common_type_t< A, B >>, const A &, const B &>::value, int > = 0> |
constexpr auto | OpenKalman::values::operator>= (const A &a, const B &b) |
|
Definitions for value arithmetic.