[#mp_units-operator_minus-0c]
= xref:mp_units.adoc[mp&lowbar;units]::operator&hyphen;
:relfileprefix: ../
:mrdocs:

Subtraction operators

== Synopses

Declared in `&lt;mp&hyphen;units&sol;framework&sol;quantity&period;h&gt;`


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    xref:mp_units/PointOrigin.adoc[PointOrigin] PO1,
    std::derived&lowbar;from&lt;quantity&lowbar;point&gt; QP&gt;
requires QuantityPointOf&lt;quantity&lowbar;point, PO1&lcub;&rcub;&gt; &amp;&amp;
             ReferenceOf&lt;MP&lowbar;UNITS&lowbar;NONCONST&lowbar;TYPE(reference), PO1&colon;&colon;&lowbar;quantity&lowbar;spec&lowbar;&gt;
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
constexpr
xref:mp_units/Quantity.adoc[Quantity] auto
xref:mp_units/operator_minus-0e.adoc[operator&hyphen;](
    PO1 po,
    QP const& qp);
----

[.small]#xref:mp_units/operator_minus-0e.adoc[_» more&period;&period;&period;_]#


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    std::derived&lowbar;from&lt;quantity&gt; Q,
    xref:mp_units/RepresentationOf.adoc[RepresentationOf&lt;quantity&lowbar;spec&gt;] Value&gt;
requires detail&colon;&colon;DimensionlessOne&lt;Q&colon;&colon;reference&gt; &amp;&amp;
             detail&colon;&colon;InvokeResultOf&lt;quantity&lowbar;spec, std&colon;&colon;minus&lt;&gt;, Rep, const Value&amp;&gt;
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
constexpr
xref:mp_units/Quantity.adoc[Quantity] auto
xref:mp_units/operator_minus-09.adoc[operator&hyphen;](
    Q const& lhs,
    Value const& rhs);
----

[.small]#xref:mp_units/operator_minus-09.adoc[_» more&period;&period;&period;_]#


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    std::derived&lowbar;from&lt;quantity&lowbar;point&gt; QP,
    xref:mp_units/QuantityPointOf.adoc[QuantityPointOf&lt;absolute&lowbar;point&lowbar;origin&gt;] QP2&gt;
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
constexpr
xref:mp_units/Quantity.adoc[Quantity] auto
xref:mp_units/operator_minus-06.adoc[operator&hyphen;](
    QP const& lhs,
    QP2 const& rhs)
requires requires &lcub; lhs&period;quantity&lowbar;ref&lowbar;from(point&lowbar;origin) &hyphen; rhs&period;quantity&lowbar;ref&lowbar;from(QP2&colon;&colon;point&lowbar;origin)&semi; &rcub;;
----

[.small]#xref:mp_units/operator_minus-06.adoc[_» more&period;&period;&period;_]#


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    std::derived&lowbar;from&lt;quantity&lowbar;point&gt; QP,
    xref:mp_units/PointOrigin.adoc[PointOrigin] PO2&gt;
requires QuantityPointOf&lt;quantity&lowbar;point, PO2&lcub;&rcub;&gt; &amp;&amp;
             ReferenceOf&lt;MP&lowbar;UNITS&lowbar;NONCONST&lowbar;TYPE(reference), PO2&colon;&colon;&lowbar;quantity&lowbar;spec&lowbar;&gt;
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
constexpr
xref:mp_units/Quantity.adoc[Quantity] auto
xref:mp_units/operator_minus-01.adoc[operator&hyphen;](
    QP const& qp,
    PO2 po);
----

[.small]#xref:mp_units/operator_minus-01.adoc[_» more&period;&period;&period;_]#


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    std::derived&lowbar;from&lt;quantity&gt; Q,
    xref:mp_units/RepresentationOf.adoc[RepresentationOf&lt;quantity&lowbar;spec&gt;] Value&gt;
requires detail&colon;&colon;DimensionlessOne&lt;Q&colon;&colon;reference&gt; &amp;&amp;
             detail&colon;&colon;InvokeResultOf&lt;quantity&lowbar;spec, std&colon;&colon;minus&lt;&gt;, Rep, const Value&amp;&gt;
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
constexpr
xref:mp_units/Quantity.adoc[Quantity] auto
xref:mp_units/operator_minus-0b.adoc[operator&hyphen;](
    Value const& lhs,
    Q const& rhs);
----

[.small]#xref:mp_units/operator_minus-0b.adoc[_» more&period;&period;&period;_]#


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    std::derived&lowbar;from&lt;quantity&gt; Q,
    auto R2,
    typename Rep2&gt;
requires detail&colon;&colon;CommonlyInvocableQuantities&lt;std&colon;&colon;minus&lt;&gt;, quantity, quantity&lt;R2, Rep2&gt;&gt;
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
constexpr
xref:mp_units/Quantity.adoc[Quantity] auto
xref:mp_units/operator_minus-0d.adoc[operator&hyphen;](
    Q const& lhs,
    xref:mp_units/quantity-01.adoc[quantity&lt;R2, Rep2&gt;] const& rhs);
----

[.small]#xref:mp_units/operator_minus-0d.adoc[_» more&period;&period;&period;_]#


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    std::derived&lowbar;from&lt;quantity&lowbar;point&gt; QP,
    xref:mp_units/ReferenceOf.adoc[ReferenceOf&lt;PO&period;&lowbar;quantity&lowbar;spec&lowbar;&gt;] auto R2,
    typename Rep2&gt;
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
constexpr
xref:mp_units/QuantityPoint.adoc[QuantityPoint] auto
xref:mp_units/operator_minus-05.adoc[operator&hyphen;](
    QP const& qp,
    xref:mp_units/quantity-01.adoc[quantity&lt;R2, Rep2&gt;] const& q)
requires requires &lcub; qp&period;quantity&lowbar;ref&lowbar;from(PO) &hyphen; q&semi; &rcub;;
----

[.small]#xref:mp_units/operator_minus-05.adoc[_» more&period;&period;&period;_]#


[.small]#Created with https://www.mrdocs.com[MrDocs]#
