名前空間
変種
操作

std::experimental::ranges::greater_equal

From cppreference.com
< cpp‎ | experimental‎ | ranges
 
 
 
 
汎用ユーティリティライブラリ
ユーティリティコンポーネント
関数オブジェクト
greater_equal
メタプログラミングと型特性
タグ付きペアとタプル
                          
タグ指定子
                                      
                          
 
template< class T = void >

    requires StrictTotallyOrdered<T> ||
             Same<T, void> ||
             /* < on two const T lvalues invokes a built-in operator comparing pointers */

struct greater_equal;
(ranges TS)
template<>
struct greater_equal<void>;
(ranges TS)

比較を実行するための関数オブジェクト。プライマリテンプレートは、型Tのconst lvalueに対するoperator<を呼び出し、その結果を否定します。特殊化greater_equal<void>は、関数呼び出し演算子のパラメータ型を引数から推論します(ただし、戻り値の型は推論しません)。

greater_equalのすべての特殊化はSemiregularです。

目次

[編集] メンバ型

メンバ型 定義
is_transparent greater_equal<void>特殊化のメンバのみ) /* 不明 */

[編集] メンバ関数

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

std::experimental::ranges::greater_equal::operator()

constexpr bool operator()(const T& x, const T& y) const;
(1) (プライマリgreater_equal<T>テンプレートのメンバのみ)
template< class T, class U >

    requires StrictTotallyOrderedWith<T, U> ||
             /* std::declval<T>() < std::declval<U>() resolves to
                a built-in operator comparing pointers */

constexpr bool operator()(T&& t, U&& u) const;
(2) greater_equal<void>特殊化のメンバのみ)
1) xyを比較します。return !ranges::less<>{}(x, y);と同等です。
2) tuを比較します。return !ranges::less<>{}(std::forward<T>(t), std::forward<U>(u));と同等です。

[編集] 注記

std::greater_equalとは異なり、ranges::greater_equalは、6つの比較演算子<<=>>===!=すべてが有効であることを要求し(StrictTotallyOrderedおよびStrictTotallyOrderedWith制約を通じて)、完全にranges::lessで定義されています。ただし、これらの概念は比較演算子の結果の一貫性を要求するため、実装はoperator>=を直接使用しても構いません。

[編集]

[編集] 関連項目

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