<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
optional
、nullopt_t
、または T
型のオブジェクト。
right
optional
、nullopt_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
optional
、nullopt_t
、または T
型のオブジェクト。
right
optional
、nullopt_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
optional
、nullopt_t
、または T
型のオブジェクト。
right
optional
、nullopt_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
optional
、nullopt_t
、または T
型のオブジェクト。
right
optional
、nullopt_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
optional
、nullopt_t
、または T
型のオブジェクト。
right
optional
、nullopt_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
optional
、nullopt_t
、または T
型のオブジェクト。
right
optional
、nullopt_t
、または T
型のオブジェクト。
戻り値
演算子の左辺の optional
が演算子の右辺の false
以上である場合は true
、それ以外の場合は optional
。
解説
このテンプレート関数は !(left < right)
を返します。