[#beman-optional-operator_le-05] = xref:beman.adoc[beman]::xref:beman/optional.adoc[optional]::operator<= :relfileprefix: ../../ :mrdocs: Less‐than‐or‐equal operators == Synopses Declared in `<beman/optional/optional.hpp>` Orders two optionals with less‐than‐or‐equal. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename T, typename U> constexpr bool xref:beman/optional/operator_le-01.adoc[operator<=]( xref:beman/optional/optional-03.adoc[optional<T>] const& lhs, xref:beman/optional/optional-03.adoc[optional<U>] const& rhs) requires detail::optional_le_rel<T, U>; ---- [.small]#xref:beman/optional/operator_le-01.adoc[_» more..._]# Orders an optional before or equal to a value. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename T, typename U> constexpr bool xref:beman/optional/operator_le-0f.adoc[operator<=]( xref:beman/optional/optional-03.adoc[optional<T>] const& lhs, U const& rhs) requires (!detail::is_optional<U>) && detail::optional_le_rel<T, U>; ---- [.small]#xref:beman/optional/operator_le-0f.adoc[_» more..._]# Orders a value before or equal to an optional. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename T, typename U> constexpr bool xref:beman/optional/operator_le-0c.adoc[operator<=]( T const& lhs, xref:beman/optional/optional-03.adoc[optional<U>] const& rhs) requires (!detail::is_optional<T>) && detail::optional_le_rel<T, U>; ---- [.small]#xref:beman/optional/operator_le-0c.adoc[_» more..._]# == Return Value * `true` if `lhs` does not order after `rhs.` * `true` if `lhs` is disengaged, or its contained value does not order after `rhs.` * `true` if `rhs` is engaged and `lhs` does not order after its contained value. == Parameters [cols="1,4"] |=== | Name| Description | *lhs* | The left‐hand optional. | *rhs* | The right‐hand optional. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#