...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::is_partitioned_until — Tests to see if a sequence is partitioned according to a predicate. In other words, all the items in the sequence that satisfy the predicate are at the beginning of the sequence.
// In header: <boost/algorithm/is_partitioned_until.hpp> template<typename Range, typename UnaryPredicate> boost::range_iterator< const Range >::type is_partitioned_until(const Range & r, UnaryPredicate p);