| Home | Libraries | People | FAQ | More

## Function template copy_if_while

boost::algorithm::copy_if_while — Copies all the elements from the input range that satisfy the copy predicate to the output range while the termination predicate is satisfied.

## Synopsis

    // In header: <boost/algorithm/cxx11/copy_if.hpp>

    template<typename Range, typename OutputIterator, typename CopyPredicate,
             typename TerminatePred>
      BOOST_CXX14_CONSTEXPR std::pair< typename boost::range_iterator< const Range >::type, OutputIterator >
      copy_if_while(const Range & r, OutputIterator result,
                    CopyPredicate copy_pred, TerminatePred term_pred);

## Description

Parameters: |
`r` | The input range
`result` | An output iterator to write the results into
`copy_pred` | A predicate for testing whether to the current element
`term_pred` | A predicate for testing whether to end the copy operation
Returns: | The updated output iterator