Skip to content

mp_units::utility::operator-

Subtraction of two uncertain values

Synopses

Declared in <mp-units/utility/cartesian_tensor.h>

Unary minus operator

[[nodiscard]] constexpr constrained<decltype(-std::declval<T>()), ErrorPolicy> operator-(constrained const& x);

» more...

Subtraction operator

[[nodiscard]] constexpr safe_int</* implementation-defined */, ErrorPolicy> operator-(safe_int lhs, safe_int rhs);

» more...

Subtraction of two uncertain values

[[nodiscard]] constexpr uncertain operator-(uncertain const& lhs, uncertain const& rhs);

» more...

Subtraction operator

template<typename U>
  requires(detail::integral<U> && detail::same_sign_v<U, T>)
[[nodiscard]] constexpr safe_int</* implementation-defined */, ErrorPolicy> operator-(U lhs, safe_int rhs);

» more...

template<typename U>
  requires treat_as_floating_point<U>
[[nodiscard]] constexpr auto operator-(U lhs, safe_int rhs)
  requires requires { lhs - static_cast<U>(rhs.value_); };

» more...

Subtraction operator

template<typename U>
  requires(detail::integral<U> && detail::same_sign_v<T, U>)
[[nodiscard]] constexpr safe_int</* implementation-defined */, ErrorPolicy> operator-(safe_int lhs, U rhs);

» more...

template<typename U>
  requires treat_as_floating_point<U>
[[nodiscard]] constexpr auto operator-(safe_int lhs, U rhs)
  requires requires { static_cast<U>(lhs.value_) - rhs; };

» more...

Subtraction operator

template<typename U, typename CP>
  requires detail::integral<U>
[[nodiscard]] constexpr safe_int</* implementation-defined */, ErrorPolicy> operator-(safe_int lhs,
                                                                                      constrained<U, CP> rhs);

» more...

Subtraction operator

template<typename U, typename CP>
  requires(!std::integral<U>)
[[nodiscard]] constexpr constrained<decltype(std::declval<T>() - std::declval<U>()), CP> operator-(
  safe_int lhs, constrained<U, CP> const& rhs);

» more...

Subtraction operator

template<typename U, typename CP>
  requires detail::integral<U>
[[nodiscard]] constexpr safe_int</* implementation-defined */, ErrorPolicy> operator-(constrained<U, CP> lhs,
                                                                                      safe_int rhs);

» more...

Subtraction operator

template<typename U, typename CP>
  requires(!std::integral<U>)
[[nodiscard]] constexpr constrained<decltype(std::declval<U>() - std::declval<T>()), CP> operator-(
  constrained<U, CP> const& lhs, safe_int rhs);

» more...

Subtraction operator

template<typename T, std::size_t N, typename U>
  requires requires(const T& t, const U& u) { t - u; }
[[nodiscard]] constexpr auto operator-(cartesian_tensor<T, N> const& lhs, cartesian_tensor<U, N> const& rhs);

» more...

Subtraction operator

template<typename T, std::size_t N, typename U>
  requires requires(const T& t, const U& u) { t - u; }
[[nodiscard]] constexpr auto operator-(cartesian_vector<T, N> const& lhs, cartesian_vector<U, N> const& rhs);

» more...

Return Value

Note

The return value should not be discarded.