[#beman-optional-operator_lt-07] = xref:beman.adoc[beman]::xref:beman/optional.adoc[optional]::operator< :relfileprefix: ../../ :mrdocs: Less‐than operators == Synopses Declared in `<beman/optional/optional.hpp>` Orders two optionals with less‐than. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename T, typename U> constexpr bool xref:beman/optional/operator_lt-0d.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_lt_rel<T, U>; ---- [.small]#xref:beman/optional/operator_lt-0d.adoc[_» more..._]# Orders an optional before a value with less‐than. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename T, typename U> constexpr bool xref:beman/optional/operator_lt-08.adoc[operator<]( xref:beman/optional/optional-03.adoc[optional<T>] const& lhs, U const& rhs) requires (!detail::is_optional<U>) && detail::optional_lt_rel<T, U>; ---- [.small]#xref:beman/optional/operator_lt-08.adoc[_» more..._]# Orders a value before an optional with less‐than. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename T, typename U> constexpr bool xref:beman/optional/operator_lt-04.adoc[operator<]( T const& lhs, xref:beman/optional/optional-03.adoc[optional<U>] const& rhs) requires (!detail::is_optional<T>) && detail::optional_lt_rel<T, U>; ---- [.small]#xref:beman/optional/operator_lt-04.adoc[_» more..._]# == Return Value * `true` if `lhs` orders before `rhs;` a disengaged optional orders before any engaged one. * `true` if `lhs` is disengaged, or its contained value orders before `rhs.` * `true` if `rhs` is engaged and `lhs` orders before 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]#