次の方法で共有


<optional> 演算子

operator==

演算子の左側の optional オブジェクトが右側の optional オブジェクトと等しいかどうかを調べます。

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

パラメーター

left
optionalnullopt_t、または T 型のオブジェクト。

right
optionalnullopt_t、または T 型のオブジェクト。

operator!=

演算子の左側の optional オブジェクトが右側の optional オブジェクトと等しくないかどうかを調べます。

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

パラメーター

left
optionalnullopt_t、または T 型のオブジェクト。

right
optionalnullopt_t、または T 型のオブジェクト。

解説

このテンプレート関数は !(left == right) を返します。

operator<

演算子の左側の optional オブジェクトが右側の optional オブジェクトより小さいかどうかを調べます。

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

パラメーター

left
optionalnullopt_t、または T 型のオブジェクト。

right
optionalnullopt_t、または T 型のオブジェクト。

戻り値

演算子の左辺のリストが演算子の右辺のリストより小さい場合は true、それ以外の場合は false

operator<=

演算子の左側の optional オブジェクトが右側の optional オブジェクト以下かどうかを調べます。

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

パラメーター

left
optionalnullopt_t、または T 型のオブジェクト。

right
optionalnullopt_t、または T 型のオブジェクト。

戻り値

演算子の左辺のリストが演算子の右辺のリスト以下である場合は true、それ以外の場合は false

解説

このテンプレート関数は !(right < left) を返します。

operator>

演算子の左側の optional オブジェクトが右側の optional オブジェクトより大きいかどうかを調べます。

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

パラメーター

left
optionalnullopt_t、または T 型のオブジェクト。

right
optionalnullopt_t、または T 型のオブジェクト。

戻り値

演算子の左辺のリストが演算子の右辺のリストより大きい場合は true、それ以外の場合は false

解説

このテンプレート関数は right < left を返します。

operator>=

演算子の左側の optional オブジェクトが右側の optional オブジェクト以上であるかどうかを調べます。

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

パラメーター

left
optionalnullopt_t、または T 型のオブジェクト。

right
optionalnullopt_t、または T 型のオブジェクト。

戻り値

演算子の左辺の optional が演算子の右辺の false 以上である場合は true、それ以外の場合は optional

解説

このテンプレート関数は !(left < right) を返します。