| 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 InputIterator, typename OutputIterator,
             typename CopyPredicate, typename TerminatePred>
      BOOST_CXX14_CONSTEXPR std::pair< InputIterator, OutputIterator >
      copy_if_while(InputIterator first, InputIterator last,
                    OutputIterator result, CopyPredicate copy_pred,
                    TerminatePred term_pred);

## Description

Parameters:

`copy_pred` | A predicate for testing whether to the current element
`first` | The start of the input sequence
`last` | One past the end of the input sequence
`result` | An output iterator to write the results into
`term_pred` | A predicate for testing whether to end the copy operation

Returns: | The updated output iterator