std::pair<OutputIterator1, OutputIterator2> InputIterator InputIterator OutputIterator1 OutputIterator2 UnaryPredicate command_queue & A pair of iterators pointing to the ends of the copied ranges. Copies all the elements in the range [first, last) for which predicate returns true to the range beginning at first_true and all the elements for which predicate returns false to the range beginning at first_false. See also: partition()