mp_units::utility::operator*¶
Multiplication operators
Synopses¶
Declared in <mp-units/utility/cartesian_tensor.h>
Multiplication operator
[[nodiscard]] constexpr safe_int</* implementation-defined */, ErrorPolicy> operator*(safe_int lhs, safe_int rhs);
Multiplication operator
[[nodiscard]] constexpr polar_vector operator*(Rep const& scalar, polar_vector const& v);
Multiplication operator
[[nodiscard]] constexpr spherical_vector operator*(Rep const& scalar, spherical_vector const& v);
Multiplication by an exact scalar (commutative)
[[nodiscard]] constexpr uncertain operator*(auto const& value, uncertain const& rhs);
Multiplication operator
[[nodiscard]] constexpr polar_vector operator*(polar_vector const& v, Rep const& scalar);
Multiplication operator
[[nodiscard]] constexpr spherical_vector operator*(spherical_vector const& v, Rep const& scalar);
Multiplication by an exact scalar
[[nodiscard]] constexpr uncertain operator*(uncertain const& lhs, auto const& value);
Multiplication of two uncertain values
[[nodiscard]] constexpr uncertain operator*(uncertain const& lhs, uncertain const& rhs);
Multiplication 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);
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_); };
Multiplication 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);
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; };
template<Quantity Factor>
[[nodiscard]] constexpr auto operator*(polar_vector const& v, Factor const& f);
template<Quantity Factor>
[[nodiscard]] constexpr auto operator*(spherical_vector const& v, Factor const& f);
Multiplication 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);
Multiplication 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);
Multiplication 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);
Multiplication 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);
Multiplication operator
template<typename T, std::size_t N, typename U>
requires(!Reference<T>) && (!Quantity<T>) && requires(const T& t, const U& u) { t * u; }
[[nodiscard]] constexpr auto operator*(T const& lhs, cartesian_tensor<U, N> const& rhs);
Multiplication operator
template<typename T, std::size_t N, typename U>
requires(!Reference<T>) && (!Quantity<T>) && requires(const T& t, const U& u) { t * u; }
[[nodiscard]] constexpr auto operator*(T const& lhs, cartesian_vector<U, N> const& rhs);
Multiplication operator
template<typename T, std::size_t N, typename U>
requires(!Reference<U>) && (!Quantity<U>) && requires(const T& t, const U& u) { t * u; }
[[nodiscard]] constexpr auto operator*(cartesian_tensor<T, N> const& lhs, U const& rhs);
Multiplication operator
template<typename T, std::size_t N, typename U>
requires(!Reference<U>) && (!Quantity<U>) && requires(const T& t, const U& u) { t * u; }
[[nodiscard]] constexpr auto operator*(cartesian_vector<T, N> const& lhs, U const& rhs);
Return Value¶
Note
The return value should not be discarded.