| Home | Libraries | People | FAQ | More

## Function template partition_copy

boost::algorithm::partition_copy — Copies the elements that satisfy the predicate p from the range [first, last) to the range beginning at d_first_true, and copies the elements that do not satisfy p to the range beginning at d_first_false.

## Synopsis

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

    template<typename InputIterator, typename OutputIterator1,
             typename OutputIterator2, typename UnaryPredicate>
      std::pair< OutputIterator1, OutputIterator2 >
      partition_copy(InputIterator first, InputIterator last,
                     OutputIterator1 out_true, OutputIterator2 out_false,
                     UnaryPredicate p);

## Description

| Note
This function is part of the C++2011 standard library. We will use the standard one if it is available, otherwise we have our own implementation.

Parameters:

`first` | The start of the input sequence
`last` | One past the end of the input sequence
`out_false` | An output iterator to write the elements that do not satisfy the predicate into
`out_true` | An output iterator to write the elements that satisfy the predicate into
`p` | A predicate for dividing the elements of the input sequence.