mp_units::operator+

Addition operators

Synopses

Declared in <mp-units/ext/fixed_string.h>

Addition operator

template<
    typename CharT,
    std::size_t N>
[[nodiscard]]
constexpr
basic_fixed_string<CharT, 1 + N>
operator+(
    CharT const lhs,
    basic_fixed_string<CharT, N> const& rhs) noexcept;
» more...

Addition operator

template<
    typename CharT,
    std::size_t N>
[[nodiscard]]
constexpr
basic_fixed_string<CharT, N + 1>
operator+(
    basic_fixed_string<CharT, N> const& lhs,
    CharT rhs) noexcept;
» more...

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);
» more...

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);
» more...

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);
» more...

Addition operator

template<
    typename CharT,
    std::size_t N,
    std::size_t N2>
[[nodiscard]]
constexpr
basic_fixed_string<CharT, N + N2>
operator+(
    basic_fixed_string<CharT, N> const& lhs,
    basic_fixed_string<CharT, N2> const& rhs) noexcept;
» more...

Addition operator

template<
    typename CharT,
    std::size_t N,
    std::size_t N2>
[[nodiscard]]
consteval
basic_fixed_string<CharT, N + N2 - 1>
operator+(
    basic_fixed_string<CharT, N> const& lhs,
    CharT const(& rhs)[]) noexcept;
» more...

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);
» more...

Addition operator

template<
    typename CharT,
    std::size_t N,
    std::size_t N1>
[[nodiscard]]
consteval
basic_fixed_string<CharT, N1 + N - 1>
operator+(
    CharT const(& lhs)[],
    basic_fixed_string<CharT, N> const& rhs) noexcept;
» more...

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);
» more...

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);
» more...

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);
» more...

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);
» more...

Addition operator

template<
    auto R1,
    typename Rep1,
    auto R2,
    auto PO2,
    typename Rep2>
requires ReferenceOf<MP_UNITS_REMOVE_CONST(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); };
» more...

Addition operator

template<
    auto R1,
    auto PO1,
    typename Rep1,
    auto R2,
    typename Rep2>
requires ReferenceOf<MP_UNITS_REMOVE_CONST(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; };
» more...

Return Value

NOTE

The return value should not be discarded.