Compartir a través de


<optional> Operadores

operator==

Comprueba si el objeto optional en el lado izquierdo del operador es igual al objeto optional del lado derecho.

template <class T, class U> constexpr bool operator==(const optional<T>& left, const optional<U>& right);
template <class T> constexpr bool operator==(const optional<T>& left, nullopt_t right) noexcept;
template <class T> constexpr bool operator==(nullopt_t left, const optional<T>& right) noexcept;
template <class T, class U> constexpr bool operator==(const optional<T>&, const U&);
template <class T, class U> constexpr bool operator==(const U&, const optional<T>&);

Parámetros

left
Objeto de tipo optional, nullopt_t o T.

right
Objeto de tipo optional, nullopt_t o T.

operator!=

Comprueba si el objeto optional en el lado izquierdo del operador no es igual al objeto optional del lado derecho.

template <class T, class U> constexpr bool operator!=(const optional<T>&, const optional<U>&);
template <class T> constexpr bool operator!=(const optional<T>&, nullopt_t) noexcept;
template <class T> constexpr bool operator!=(nullopt_t, const optional<T>&) noexcept;
template <class T, class U> constexpr bool operator!=(const optional<T>&, const U&);
template <class T, class U> constexpr bool operator!=(const U&, const optional<T>&);

Parámetros

left
Objeto de tipo optional, nullopt_t o T.

right
Objeto de tipo optional, nullopt_t o T.

Comentarios

Esta función de plantilla devuelve !(left == right).

operator<

Comprueba si el objeto optional en el lado izquierdo del operador es menor que el objeto optional del lado derecho.

template <class T, class U> constexpr bool operator<(const optional<T>&, const optional<U>&);
template <class T> constexpr bool operator<(const optional<T>&, nullopt_t) noexcept;
template <class T> constexpr bool operator<(nullopt_t, const optional<T>&) noexcept;
template <class T, class U> constexpr bool operator<(const optional<T>&, const U&);
template <class T, class U> constexpr bool operator<(const U&, const optional<T>&);

Parámetros

left
Objeto de tipo optional, nullopt_t o T.

right
Objeto de tipo optional, nullopt_t o T.

Valor devuelto

true si la lista del lado izquierdo del operador es menor pero no igual que la lista del lado derecho del operador. Si no es así, false.

operator<=

Comprueba si el objeto optional en el lado izquierdo del operador es menor o igual que el objeto optional del lado derecho.

template <class T, class U> constexpr bool operator<=(const optional<T>&, const optional<U>&);
template <class T> constexpr bool operator<=(const optional<T>&, nullopt_t) noexcept;
template <class T> constexpr bool operator<=(nullopt_t, const optional<T>&) noexcept;
template <class T, class U> constexpr bool operator<=(const optional<T>&, const U&);
template <class T, class U> constexpr bool operator<=(const U&, const optional<T>&);

Parámetros

left
Objeto de tipo optional, nullopt_t o T.

right
Objeto de tipo optional, nullopt_t o T.

Valor devuelto

true si la lista del lado izquierdo del operador es menor o igual que la lista del lado derecho del operador. Si no es así, false.

Comentarios

Esta función de plantilla devuelve !(right < left).

operator>

Comprueba si el objeto optional en el lado izquierdo del operador es mayor que el objeto optional del lado derecho.

template <class T, class U> constexpr bool operator>(const optional<T>&, const optional<U>&);
template <class T> constexpr bool operator>(const optional<T>&, nullopt_t) noexcept;
template <class T> constexpr bool operator>(nullopt_t, const optional<T>&) noexcept;
template <class T, class U> constexpr bool operator>(const optional<T>&, const U&);
template <class T, class U> constexpr bool operator>(const U&, const optional<T>&);

Parámetros

left
Objeto de tipo optional, nullopt_t o T.

right
Objeto de tipo optional, nullopt_t o T.

Valor devuelto

true si la lista del lado izquierdo del operador es mayor que la lista del lado derecho del operador. Si no es así, false.

Comentarios

Esta función de plantilla devuelve right < left.

operator>=

Comprueba si el objeto optional en el lado izquierdo del operador es mayor o igual que el objeto optional del lado derecho.

template <class T, class U> constexpr bool operator>=(const optional<T>&, const optional<U>&);
template <class T> constexpr bool operator>=(const optional<T>&, nullopt_t) noexcept;
template <class T> constexpr bool operator>=(nullopt_t, const optional<T>&) noexcept;
template <class T, class U> constexpr bool operator>=(const optional<T>&, const U&);
template <class T, class U> constexpr bool operator>=(const U&, const optional<T>&);

Parámetros

left
Objeto de tipo optional, nullopt_t o T.

right
Objeto de tipo optional, nullopt_t o T.

Valor devuelto

true si el optional del lado izquierdo del operador es mayor o igual que el optional del lado derecho del operador. De lo contrario es false.

Comentarios

La función de plantilla devuelve !(left < right).