copy_if
要素のスコープで、コピー、指定した条件の true である要素。
template<class InputIterator, class OutputIterator, class BinaryPredicate>
OutputIterator copy_if(
InputIterator _First,
InputIterator _Last,
OutputIterator _Dest,
Predicate _Pred
);
パラメーター
_First
要件のチェックには、範囲の開始を示す入力反復子。_Last
範囲の終了位置を示す入力反復子。_Dest
コピーした要素の移動先を示す出力反復子。_Pred
範囲のすべての要素がテストされた条件。この要件は、ユーザー定義の述語関数オブジェクトによって提供されます。述語は 1 個の引数を受け取り、true か falseを返します。
戻り値
_Dest に等しい出力反復子は要件を満たす各要素に対して一度ずつインクリメントしました。つまり、_Dest 減算戻り値は、コピーした要素の数と同じになります。
解説
テンプレート関数を評価します
if (_Pred(*_First + N))
*_Dest++ = *(_First + N))
一度 [0,範囲の N ごとに_Last - 最小値で始まる N の厳密にインクリメントする値の_First、)。ストレージ、_Dest の _Dest と _First の指定の領域がスコープ [_First,_Last)にある必要があります。
必要条件
ヘッダー: <algorithm>
名前空間: std