Inequality operators

Synopses

Declared in <beman/optional/optional.hpp>

Compares two optionals for inequality.

template<
    typename T,
    typename U>
constexpr
bool
operator!=(
    optional<T> const& lhs,
    optional<U> const& rhs)
requires detail::optional_ne_rel<T, U>;

Compares an optional against a value for inequality.

template<
    typename T,
    typename U>
constexpr
bool
operator!=(
    optional<T> const& lhs,
    U const& rhs)
requires (!detail::is_optional<U>) && detail::optional_ne_rel<T, U>;

Compares a value against an optional for inequality.

template<
    typename T,
    typename U>
constexpr
bool
operator!=(
    T const& lhs,
    optional<U> const& rhs)
requires (!detail::is_optional<T>) && detail::optional_ne_rel<T, U>;

Return Value

  • true if the operands are not equal.

  • true if lhs is disengaged or its contained value differs from rhs.

  • true if rhs is disengaged or lhs differs from its contained value.

Parameters

Name

Description

lhs

The left‐hand optional.

rhs

The right‐hand optional.

Created with MrDocs