Program Listing for File transform.hpp
↰ Return to documentation for file (rcppsw/algorithm/transform.hpp
)
#pragma once
/*******************************************************************************
* Includes
******************************************************************************/
#include "rcppsw/rcppsw.hpp"
/*******************************************************************************
* Namespaces/Decls
******************************************************************************/
namespace rcppsw::algorithm {
/*******************************************************************************
* Templates
******************************************************************************/
template <class InputIterator,
class OutputIterator,
class Predicate,
class UnaryFunction>
OutputIterator transform_if(InputIterator first,
InputIterator last,
OutputIterator result,
const Predicate& pred,
const UnaryFunction& f) {
for (; first != last; ++first) {
if (pred(*first)) {
*result++ = f(*first);
}
} /* for(...) */
return result;
}
} /* namespace rcppsw::algorithm */