mp_units::operator+¶
Addition operators
Synopses¶
Declared in <mp-units/framework/quantity.h>
Addition operator
template<PointOrigin PO, typename FwdQ, Quantity Q = std::remove_cvref_t<FwdQ>>
requires PointOriginFor<PO, Q::quantity_spec>
[[nodiscard]] constexpr QuantityPoint auto operator+(PO po, FwdQ&& q);
Addition operator
template<PointOrigin PO, typename FwdQ, Quantity Q = std::remove_cvref_t<FwdQ>>
requires PointOriginFor<PO, Q::quantity_spec>
[[nodiscard]] constexpr QuantityPoint auto operator+(PO po, FwdQ&& q);
Addition operator
template<PointOrigin PO, typename FwdQ, Quantity Q = std::remove_cvref_t<FwdQ>>
requires PointOriginFor<PO, Q::quantity_spec>
[[nodiscard]] constexpr QuantityPoint auto operator+(PO po, FwdQ&& q);
Addition operator
template<auto R1, typename Rep1, RepresentationOf<get_quantity_spec(R1)> Value>
requires ImplicitFromNumber<R1> && InvokeResultOf<get_quantity_spec(R1), std::plus<>, Rep1, const Value&>
[[nodiscard]] constexpr Quantity auto operator+(Value const& lhs, quantity<R1, Rep1> const& rhs);
Addition operator
template<auto R1, typename Rep1, RepresentationOf<get_quantity_spec(R1)> Value>
requires ImplicitFromNumber<R1> && InvokeResultOf<get_quantity_spec(R1), std::plus<>, Rep1, const Value&>
[[nodiscard]] constexpr Quantity auto operator+(quantity<R1, Rep1> const& lhs, Value const& rhs);
Addition operator
template<typename FwdQ, PointOrigin PO, Quantity Q = std::remove_cvref_t<FwdQ>>
requires PointOriginFor<PO, Q::quantity_spec>
[[nodiscard]] constexpr QuantityPoint auto operator+(FwdQ&& q, PO po);
Addition operator
template<typename FwdQ, PointOrigin PO, Quantity Q = std::remove_cvref_t<FwdQ>>
requires PointOriginFor<PO, Q::quantity_spec>
[[nodiscard]] constexpr QuantityPoint auto operator+(FwdQ&& q, PO po);
Addition operator
template<typename FwdQ, PointOrigin PO, Quantity Q = std::remove_cvref_t<FwdQ>>
requires PointOriginFor<PO, Q::quantity_spec>
[[nodiscard]] constexpr QuantityPoint auto operator+(FwdQ&& q, PO po);
Addition operator
template<auto R1, typename Rep1, auto R2, typename Rep2>
requires CommonlyInvocableQuantities<std::plus<>, quantity<R1, Rep1>, quantity<R2, Rep2>>
[[nodiscard]] constexpr Quantity auto operator+(quantity<R1, Rep1> const& lhs, quantity<R2, Rep2> const& rhs);
Addition operator
template<std::size_t N, std::size_t M, std::size_t N2, std::size_t M2>
[[nodiscard]] constexpr symbol_text<N + N2, M + M2> operator+(symbol_text<N, M> const& lhs,
symbol_text<N2, M2> const& rhs);
Addition operator
template<auto R1, typename Rep1, auto R2, auto PO2, typename Rep2>
requires ReferenceOf<MP_UNITS_NTTP_HACK(decltype(R1)), get_quantity_spec(PO2)>
[[nodiscard]] constexpr QuantityPoint auto operator+(quantity<R1, Rep1> const& q,
quantity_point<R2, PO2, Rep2> const& qp)
requires requires { q + qp.quantity_ref_from(PO2); };
Addition operator
template<auto R1, auto PO1, typename Rep1, auto R2, typename Rep2>
requires ReferenceOf<MP_UNITS_NTTP_HACK(decltype(R2)), get_quantity_spec(PO1)>
[[nodiscard]] constexpr QuantityPoint auto operator+(quantity_point<R1, PO1, Rep1> const& qp,
quantity<R2, Rep2> const& q)
requires requires { qp.quantity_ref_from(PO1) + q; };
Return Value¶
Note
The return value should not be discarded.