26 template<
class fwd_it_t,
class predicate_t>
27 fwd_it_t
remove_if_i(fwd_it_t itBegin, fwd_it_t itEnd,
const predicate_t& predicate,
size_t nStartIndex = 0)
29 fwd_it_t itDest = itBegin;
30 size_t i = nStartIndex;
31 for (fwd_it_t it = itBegin; it != itEnd; ++it)
34 *itDest++ = std::move(*it);
49 template<
class container_t,
class predicate_t>
50 auto remove_if_i(container_t& container,
const predicate_t& predicate)
52 return remove_if_i(container.begin(), container.end(), predicate, 0);
fwd_it_t remove_if_i(fwd_it_t itBegin, fwd_it_t itEnd, const predicate_t &predicate, size_t nStartIndex=0)
std::remove_if with index instead of data reference