名前空間
変種
操作

std::greater

提供: cppreference.com
< cpp‎ | utility‎ | functional
 
 
ユーティリティライブラリ
汎用ユーティリティ
日付と時間
関数オブジェクト
書式化ライブラリ (C++20)
(C++11)
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)
スワップと型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
一般的な語彙の型
(C++11)
(C++17)
(C++17)
(C++17)
(C++17)

初等文字列変換
(C++17)
(C++17)
 
関数オブジェクト
関数ラッパー
(C++11)
(C++11)
関数の部分適用
(C++20)
(C++11)
関数呼び出し
(C++17)
恒等関数オブジェクト
(C++20)
参照ラッパー
(C++11)(C++11)
演算子ラッパー
否定子
(C++17)
検索子
制約付き比較子
古いバインダとアダプタ
(C++17未満)
(C++17未満)
(C++17未満)
(C++17未満)
(C++17未満)(C++17未満)(C++17未満)(C++17未満)
(C++20未満)
(C++20未満)
(C++17未満)(C++17未満)
(C++17未満)(C++17未満)

(C++17未満)
(C++17未満)(C++17未満)(C++17未満)(C++17未満)
(C++20未満)
(C++20未満)
 
ヘッダ <functional> で定義
template< class T >
struct greater;
(C++14未満)
template< class T = void >
struct greater;
(C++14以上)

比較を行うための関数オブジェクト。 特殊化されていなければ、型 T に対して operator> を呼びます。

目次

[編集] 特殊化

任意のポインタ型に対する std::greater の特殊化は、たとえ組み込みの operator> がそうでなくても、狭義全順序を生成します。 狭義全順序はそのポインタ型に対する std::lessstd::greaterstd::less_equal および std::greater_equal の特殊化に渡って一貫しており、また対応する組み込みの演算子 (<><= および >=) によって与えられる部分順序とも一貫しています。

特殊化 std::greater<void> の関数呼び出し演算子がポインタを比較する組み込みの演算子を呼ぶ場合、たとえ組み込みの operator> がそうでなくても、狭義全順序を生成します。 この狭義全順序は特殊化 std::less<void>std::greater<void>std::less_equal<void> および std::greater_equal<void> に渡って一貫しており、また対応する組み込みの演算子によって与えられる部分順序とも一貫しています。

(C++14以上)

標準ライブラリは T が指定されない場合の引数型と戻り値型を推定する std::greater の特殊化を提供します。

引数と戻り値の型を推定する x > y を実装する関数オブジェクト
(クラステンプレートの特殊化) [edit]
(C++14以上)

メンバ型

定義
result_type(C++17で非推奨) bool
first_argument_type(C++17で非推奨) T
second_argument_type(C++17で非推奨) T
(C++20未満)

[編集] メンバ関数

operator()
第1引数が第2引数より大きいかどうか調べます
(パブリックメンバ関数)


std::greater::operator()

bool operator()( const T& lhs, const T& rhs ) const;
(C++14未満)
constexpr bool operator()( const T& lhs, const T& rhs ) const;
(C++14以上)

lhsrhs より大きいかどうか調べます。

引数

lhs, rhs - 比較する値

戻り値

lhs > rhs であれば true、そうでなければ false

例外

(なし)

実装例

constexpr bool operator()(const T &lhs, const T &rhs) const 
{
    return lhs > rhs;
}

[編集] 関連項目

x < y を実装する関数オブジェクト
(クラステンプレート) [edit]