Sdílet prostřednictvím


copy_if

V rozsahu prvků, zkopíruje prvky, které jsou true pro zadanou podmínku.

template<class InputIterator, class OutputIterator, class BinaryPredicate>
   OutputIterator copy_if(
      InputIterator _First, 
      InputIterator _Last,
      OutputIterator _Dest,
      Predicate _Pred
    );

Parametry

  • _First
    Vstupní iterační označující začátek rozsahu ke kontrole stavu.

  • _Last
    Vstupní iterační označující konec rozsahu.

  • _Dest
    Výstup iterátor, který označuje cíli pro zkopírované prvky.

  • _Pred
    Stav, proti které je testována každý prvek v rozsahu.Tato podmínka je k dispozici objekt predikátu funkce definované uživatelem.Predikátu přijímá jeden argument a vrátí true nebo false.

Vrácená hodnota

Iterátor výstup, který se rovná _Dest zvýšen jednou pro každý prvek, který splňuje podmínku.Jinými slovy, vrácená hodnota minus _Dest se rovná počtu zkopírované prvky.

Poznámky

Funkce šablony

if (_Pred(*_First + N))

*_Dest++ = *(_First + N))

jednou pro každý N v rozsahu[0, _Last - _First), pro přísné zvýšení hodnot N počínaje nejnižší hodnotou.Pokud _Dest a _First určují oblasti úložiště, _Dest nesmí být v rozsahu [_First, _Last).

Požadavky

Záhlaví: <algoritmus>

Obor názvů: std

Viz také

Referenční dokumentace

Standardní knihovna šablon