Partager via


<optional>, opérateurs

operator==

Teste si l'objet optional situé à gauche de l'opérateur est égal à l'objet optional situé à droite.

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>&);

Paramètres

left
Objet de type optional, nullopt_tou T.

right
Objet de type optional, nullopt_tou T.

operator!=

Teste si l'objet optional situé à gauche de l'opérateur n'est pas égal à l'objet optional situé à droite.

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>&);

Paramètres

left
Objet de type optional, nullopt_tou T.

right
Objet de type optional, nullopt_tou T.

Notes

Cette fonction de modèle retourne !(left == right).

operator<

Teste si l'objet optional situé à gauche de l'opérateur est inférieur à l'objet optional situé à droite.

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>&);

Paramètres

left
Objet de type optional, nullopt_tou T.

right
Objet de type optional, nullopt_tou T.

Valeur de retour

true si la liste à gauche de l’opérateur est inférieure et non égale à la liste à droite de l’opérateur ; sinon, false.

operator<=

Teste si l'objet optional situé à gauche de l'opérateur est inférieur ou égal à l'objet optional situé à droite.

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>&);

Paramètres

left
Objet de type optional, nullopt_tou T.

right
Objet de type optional, nullopt_tou T.

Valeur de retour

true si la liste à gauche de l’opérateur est inférieure ou égale à la liste à droite de l’opérateur ; sinon, false.

Notes

Cette fonction de modèle retourne !(right < left).

operator>

Teste si l'objet optional situé à gauche de l'opérateur est supérieur à l'objet optional situé à droite.

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>&);

Paramètres

left
Objet de type optional, nullopt_tou T.

right
Objet de type optional, nullopt_tou T.

Valeur de retour

true si la liste à gauche de l’opérateur est supérieure à la liste à droite de l’opérateur ; sinon, false.

Notes

Cette fonction de modèle retourne right < left.

operator>=

Teste si l'objet optional situé à gauche de l'opérateur est supérieur ou égal à l'objet optional situé à droite.

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>&);

Paramètres

left
Objet de type optional, nullopt_tou T.

right
Objet de type optional, nullopt_tou T.

Valeur de retour

true si le optional côté gauche de l’opérateur est supérieur ou égal au optional côté droit de l’opérateur ; sinon false.

Notes

La fonction de modèle retourne !(left < right).