<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)
.