[#operator_3way-01]
= operator&lt;&equals;&gt;
:mrdocs:

Three&hyphen;way comparison operators

== Synopses

Declared in `&lt;arith&lowbar;uint256&period;h&gt;`

Orders identifiers by kind, then by wrapped value&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
auto
xref:operator_3way-09.adoc[operator&lt;&equals;&gt;](
    xref:GenTxid.adoc[GenTxid] const& a,
    xref:GenTxid.adoc[GenTxid] const& b);
----

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

Performs a three&hyphen;way comparison of two big integers&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
std::strong&lowbar;ordering
xref:operator_3way-05a.adoc[operator&lt;&equals;&gt;](
    xref:base_uint-02.adoc[base&lowbar;uint] const& a,
    xref:base_uint-02.adoc[base&lowbar;uint] const& b);
----

[.small]#xref:operator_3way-05a.adoc[_» more&period;&period;&period;_]#

Performs a three&hyphen;way comparison of two big integers&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
std::strong&lowbar;ordering
xref:operator_3way-00f.adoc[operator&lt;&equals;&gt;](
    xref:base_uint-02.adoc[base&lowbar;uint&lt;256&gt;] const& a,
    xref:base_uint-02.adoc[base&lowbar;uint&lt;256&gt;] const& b);
----

[.small]#xref:operator_3way-00f.adoc[_» more&period;&period;&period;_]#

Compare two script&lowbar;verify&lowbar;flags&period; &lt;, &gt;, &lt;&equals;, and &gt;&equals; are auto&hyphen;generated from this&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
constexpr
std::strong&lowbar;ordering
xref:operator_3way-0c.adoc[operator&lt;&equals;&gt;](
    xref:script_verify_flags.adoc[script&lowbar;verify&lowbar;flags] const& a,
    xref:script_verify_flags.adoc[script&lowbar;verify&lowbar;flags] const& b) noexcept;
----

[.small]#xref:operator_3way-0c.adoc[_» more&period;&period;&period;_]#

Comparison between two deques, implementing lexicographic ordering on the contents&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
std::strong&lowbar;ordering
xref:operator_3way-056.adoc[operator&lt;&equals;&gt;](
    xref:VecDeque.adoc[VecDeque] const& a,
    xref:VecDeque.adoc[VecDeque] const& b);
----

[.small]#xref:operator_3way-056.adoc[_» more&period;&period;&period;_]#

Order two wrapped FeeFracs by feerate&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
std::strong&lowbar;ordering
xref:operator_3way-00a.adoc[operator&lt;&equals;&gt;](
    xref:ByRatio.adoc[ByRatio] const& a,
    xref:ByRatio.adoc[ByRatio] const& b) noexcept;
----

[.small]#xref:operator_3way-00a.adoc[_» more&period;&period;&period;_]#

Order two wrapped FeeFracs by feerate, then by reversed size&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
std::strong&lowbar;ordering
xref:operator_3way-03.adoc[operator&lt;&equals;&gt;](
    xref:ByRatioNegSize.adoc[ByRatioNegSize] const& a,
    xref:ByRatioNegSize.adoc[ByRatioNegSize] const& b) noexcept;
----

[.small]#xref:operator_3way-03.adoc[_» more&period;&period;&period;_]#

Three&hyphen;way compare two fee rates by their fee&sol;vsize ratio&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
std::strong&lowbar;ordering
xref:operator_3way-08.adoc[operator&lt;&equals;&gt;](
    xref:CFeeRate.adoc[CFeeRate] const& a,
    xref:CFeeRate.adoc[CFeeRate] const& b) noexcept;
----

[.small]#xref:operator_3way-08.adoc[_» more&period;&period;&period;_]#

== Return Value

* The ordering of a relative to b&period;
* The ordering of `a` relative to `b&period;`
* The ordering of a relative to b, comparing elements in order then size&period;
* The ordering of the feerates of a and b&period;
* The ordering of a relative to b, comparing feerate first and larger size first on ties&period;
* Ordering of `a` relative to `b`&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *a*
| The left&hyphen;hand identifier&period;
| *b*
| The right&hyphen;hand identifier&period;
|===


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