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;
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;
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<
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;
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;
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 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;
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_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); };
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; };
Return Value
|
Note
|
The return value should not be discarded. |
Created with MrDocs