Skip to content

mp_units::utility::operator+

Addition of two uncertain values

Synopses

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

Unary plus operator

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

» more...

Addition operator

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

» more...

Addition of two uncertain values

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

» more...

Addition 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...

Addition 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...

Addition 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...

Addition 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...

Addition 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...

Addition 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...

Addition 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...

Addition 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.