std::experimental::ranges::less_equal
From cppreference.com
< cpp | experimental | ranges
| Defined in header <experimental/ranges/functional> |
||
| template< class T = void > requires StrictTotallyOrdered<T> || |
(ranges TS) | |
| template<> struct less_equal<void>; |
(ranges TS) | |
比較を実行するための関数オブジェクト。プライマリテンプレートは、型Tのconst lvalueに対するoperator<を引数の順序を反転させて呼び出し、その結果を否定します。特殊化less_equal<void>は、関数呼び出し演算子のパラメータ型を引数から推論します(ただし、戻り値の型は推論しません)。
less_equalのすべての特殊化はSemiregularです。
目次 |
[編集] メンバ型
| メンバ型 | 定義 |
is_transparent (less_equal<void>特殊化のみのメンバ) |
/* 不明 */ |
[編集] メンバ関数
| operator() |
最初の引数が2番目の引数より小さいか等しいかを確認します (public member function) |
std::experimental::ranges::less_equal::operator()
| constexpr bool operator()(const T& x, const T& y) const; |
(1) | (プライマリless_equal<T>テンプレートのみのメンバ) |
| template< class T, class U > requires StrictTotallyOrderedWith<T, U> || |
(2) | (less_equal<void>特殊化のみのメンバ) |
[編集] 注記
std::less_equalとは異なり、ranges::less_equalは、(StrictTotallyOrderedおよびStrictTotallyOrderedWith制約を通じて)6つの比較演算子<、<=、>、>=、==、!=すべてが有効であることを要求し、完全にranges::lessで定義されています。ただし、これらのコンセプトは比較演算の結果の一貫性を要求するため、実装は直接operator<=を使用しても構いません。
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 関連項目
| x <= y を実装する関数オブジェクト (クラステンプレート) |