std:: indirect_equivalence_relation
|
ヘッダーで定義
<iterator>
|
||
|
template
<
class
F,
class
I1,
class
I2
=
I1
>
concept indirect_equivalence_relation
=
|
(C++20以降) | |
indirect_equivalence_relation コンセプトは、引数として同値関係を呼び出すアルゴリズムの要件を定義します。このコンセプトと
std::equivalence_relation
の主な違いは、I1 と I2 自体ではなく、I1 と I2 が参照する型に適用される点です。
不具合報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
| P2609R3 | C++20 |
一部の要件が
std::
iter_value_t
<
I
>
&
の観点で定義されており、射影を誤って扱い F & との同値関係との互換性が失われていた |
/*indirect-value-t*/
<
I
>
の観点で定義し、 このような射影を正しく扱うように修正 |
| P2997R1 | C++20 |
indirect_equivalence_relation
が
F
&
に
equivalence_relation
をstd:: iter_common_reference_t < I > に関して満たすことを要求していた |
要求しない |