...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::algorithm::copy_while — Copies all the elements at the start of the input range that satisfy the predicate to the output range.
// In header: <boost/algorithm/cxx11/copy_if.hpp> template<typename InputIterator, typename OutputIterator, typename Predicate> BOOST_CXX14_CONSTEXPR std::pair< InputIterator, OutputIterator > copy_while(InputIterator first, InputIterator last, OutputIterator result, Predicate p);