std::indirect_strict_weak_order
From cppreference.com
| ヘッダ <iterator> で定義 |
||
| template< class F, class I1, class I2 = I1 > concept indirect_strict_weak_order = |
(C++20以降) | |
コンセプトindirect_strict_weak_orderは、引数として厳密弱順序を呼び出すアルゴリズムの要件を指定します。このコンセプトとstd::strict_weak_orderの主な違いは、I1およびI2自体ではなく、それらが参照する型に適用されることです。
[編集] 不具合報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| P2609R3 | C++20 | 一部の要件は、 std::iter_value_t<I>&で定義されていましたが、これはプロジェクションを誤って扱っていました。 その結果、厳密弱順序F&との互換性がありませんでした。 |
定義は /*indirect-value-t*/<I>から そのようなプロジェクションを正しく処理するため |
| P2997R1 | C++20 | indirect_strict_weak_orderはF&に満たすことを要求しましたstrict_weak_orderとstd::iter_common_reference_t<I> |
要求しなくなった |