名前空間
変種
操作

std::greater

From cppreference.com
< cpp‎ | utility‎ | functional
 
 
ユーティリティライブラリ
言語サポート
型のサポート (基本型、RTTI)
ライブラリ機能検査マクロ (C++20)
プログラムユーティリティ
可変引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20で非推奨)
 
関数オブジェクト
関数の呼び出し
(C++17)(C++23)
恒等関数オブジェクト
(C++20)
透過的な演算子ラッパー
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

古いバインダとアダプタ
(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以降)

比較を実行するための関数オブジェクト。プライマリテンプレートは、型Toperator>を呼び出します。

目次

[編集] 特殊化

パラメータ型と戻り値の型を推論して、x > yを実装する関数オブジェクト。
(クラステンプレート特殊化) [編集]

[編集] メンバー型

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

これらのメンバー型は、std::binary_function<T, T, bool> を公開継承することによって取得されます。

(C++11まで)

[編集] メンバ関数

operator()
最初の引数が2番目の引数より大きいかどうかをチェックします。
(public member function)

std::greater::operator()

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

lhsrhsより大きいかどうかをチェックします。

パラメータ

lhs, rhs - 比較する値

戻り値

lhs > rhs.

T がポインタ型の場合、結果はポインタに対する実装定義の厳密な全順序と整合します。

[編集] 例外

実装定義の例外をスローする場合があります。

可能な実装

constexpr bool operator()(const T& lhs, const T& rhs) const 
{
    return lhs > rhs; // assumes that the implementation handles pointer total order
}

[編集] 不具合報告

以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。

DR 適用対象 公開された動作 正しい動作
LWG 2562 C++98 ポインタの全順序が不整合である可能性がある 一貫性が保証される

[編集] 関連項目

x < y を実装する関数オブジェクト
(クラステンプレート) [編集]
x > y を実装する制約付き関数オブジェクト
(クラス) [編集]
English 日本語 中文(简体) 中文(繁體)