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