[#absl-operator_le-06]
= xref:absl.adoc[absl]::operator&lt;&equals;
:relfileprefix: ../
:mrdocs:

Less&hyphen;than&hyphen;or&hyphen;equal operators

== Synopses

Declared in `&lt;absl&sol;base&sol;log&lowbar;severity&period;h&gt;`

Compares an `absl&colon;&colon;LogSeverityAtLeast` threshold against an `absl&colon;&colon;LogSeverity` value (in either operand order)&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
constexpr
bool
xref:absl/operator_le-091.adoc[operator&lt;&equals;](
    xref:absl/LogSeverityAtLeast.adoc[absl::LogSeverityAtLeast] lhs,
    xref:absl/LogSeverity.adoc[absl::LogSeverity] rhs);
----

[.small]#xref:absl/operator_le-091.adoc[_» more&period;&period;&period;_]#

Compares an `absl&colon;&colon;LogSeverityAtMost` threshold against an `absl&colon;&colon;LogSeverity` value (in either operand order)&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
constexpr
bool
xref:absl/operator_le-08.adoc[operator&lt;&equals;](
    xref:absl/LogSeverity.adoc[absl::LogSeverity] lhs,
    xref:absl/LogSeverityAtMost.adoc[absl::LogSeverityAtMost] rhs);
----

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

Compares two spans lexicographically&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename T&gt;
constexpr
bool
xref:absl/operator_le-0bf.adoc[operator&lt;&equals;](
    xref:absl/Span.adoc[Span&lt;T&gt;] a,
    xref:absl/Span.adoc[Span&lt;T&gt;] b);
----

[.small]#xref:absl/operator_le-0bf.adoc[_» more&period;&period;&period;_]#

Compares two spans lexicographically&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename T&gt;
constexpr
bool
xref:absl/operator_le-0d.adoc[operator&lt;&equals;](
    xref:absl/Span.adoc[Span&lt;T const&gt;] a,
    xref:absl/Span.adoc[Span&lt;T&gt;] b);
----

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

Compares two spans lexicographically&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename T&gt;
constexpr
bool
xref:absl/operator_le-003.adoc[operator&lt;&equals;](
    xref:absl/Span.adoc[Span&lt;T&gt;] a,
    xref:absl/Span.adoc[Span&lt;T const&gt;] b);
----

[.small]#xref:absl/operator_le-003.adoc[_» more&period;&period;&period;_]#

Compares a container and a span lexicographically&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    typename T,
    typename U,
    typename = span&lowbar;internal::EnableIfConvertibleTo&lt;U, absl::Span&lt;T const&gt;&gt;&gt;
constexpr
bool
xref:absl/operator_le-03.adoc[operator&lt;&equals;](
    U const& a,
    xref:absl/Span.adoc[Span&lt;T&gt;] b);
----

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

Compares a span and a container lexicographically&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    typename T,
    typename U,
    typename = span&lowbar;internal::EnableIfConvertibleTo&lt;U, absl::Span&lt;T const&gt;&gt;&gt;
constexpr
bool
xref:absl/operator_le-0e.adoc[operator&lt;&equals;](
    xref:absl/Span.adoc[Span&lt;T&gt;] a,
    U const& b);
----

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

Returns whether one duration is less than or equal to another&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
constexpr
bool
xref:absl/operator_le-075.adoc[operator&lt;&equals;](
    xref:absl/Duration.adoc[Duration] lhs,
    xref:absl/Duration.adoc[Duration] rhs);
----

[.small]#xref:absl/operator_le-075.adoc[_» more&period;&period;&period;_]#

Returns whether one time is earlier than or equal to another&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
constexpr
bool
xref:absl/operator_le-090.adoc[operator&lt;&equals;](
    xref:absl/Time.adoc[Time] lhs,
    xref:absl/Time.adoc[Time] rhs);
----

[.small]#xref:absl/operator_le-090.adoc[_» more&period;&period;&period;_]#

Determines whether `lhs` is less than or equal to `rhs`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
constexpr
bool
xref:absl/operator_le-01.adoc[operator&lt;&equals;](
    xref:absl/uint128.adoc[uint128] lhs,
    xref:absl/uint128.adoc[uint128] rhs);
----

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

Tests whether the value of an inlined vector is less than or equal to the value of another inlined vector using a lexicographical comparison algorithm&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    typename T,
    size&lowbar;t N,
    typename A&gt;
bool
xref:absl/operator_le-00e1.adoc[operator&lt;&equals;](
    xref:absl/InlinedVector.adoc[absl::InlinedVector&lt;T, N, A&gt;] const& a,
    xref:absl/InlinedVector.adoc[absl::InlinedVector&lt;T, N, A&gt;] const& b);
----

[.small]#xref:absl/operator_le-00e1.adoc[_» more&period;&period;&period;_]#

Returns whether `lhs` orders lexicographically before or equal to `rhs`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
bool
xref:absl/operator_le-097.adoc[operator&lt;&equals;](
    xref:absl/FixedArray.adoc[FixedArray] const& lhs,
    xref:absl/FixedArray.adoc[FixedArray] const& rhs);
----

[.small]#xref:absl/operator_le-097.adoc[_» more&period;&period;&period;_]#

Tests whether one Cord is ordered at or before another&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
bool
xref:absl/operator_le-0b5.adoc[operator&lt;&equals;](
    xref:absl/Cord.adoc[Cord] const& x,
    xref:absl/Cord.adoc[Cord] const& y);
----

[.small]#xref:absl/operator_le-0b5.adoc[_» more&period;&period;&period;_]#

Tests whether a Cord is ordered at or before string data&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
bool
xref:absl/operator_le-07a.adoc[operator&lt;&equals;](
    xref:absl/Cord.adoc[Cord] const& x,
    std::string&lowbar;view y);
----

[.small]#xref:absl/operator_le-07a.adoc[_» more&period;&period;&period;_]#

Tests whether string data is ordered at or before a Cord&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
bool
xref:absl/operator_le-00ea.adoc[operator&lt;&equals;](
    std::string&lowbar;view x,
    xref:absl/Cord.adoc[Cord] const& y);
----

[.small]#xref:absl/operator_le-00ea.adoc[_» more&period;&period;&period;_]#

Orders two iterators by position&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
bool
xref:absl/operator_le-093.adoc[operator&lt;&equals;](
    Iter const& a,
    Iter const& b);
----

[.small]#xref:absl/operator_le-093.adoc[_» more&period;&period;&period;_]#

== Return Value

* `true` if the comparison holds, `false` otherwise&period;
* `true` if `a` is not lexicographically greater than `b`&period;
* `true` if `lhs` is less than or equal to `rhs`&period;
* `true` if `lhs` is earlier than or equal to `rhs`&period;
* `true` if `lhs` is less than or equal to `rhs`&semi; `false` otherwise&period;
* `true` if `a` is less than or equal to `b`, `false` otherwise&period;
* `true` if `lhs` is not lexicographically greater than `rhs`&period;
* `true` if `x` is not greater than `y`&period;
* `true` if `a` does not follow `b`&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *lhs*
| The left&hyphen;hand operand&period;
| *rhs*
| The right&hyphen;hand operand&period;
| *a*
| The left operand&period;
| *b*
| The right operand&period;
| *x*
| The left&hyphen;hand Cord&period;
| *y*
| The right&hyphen;hand Cord&period;
|===


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