|  | Home | Libraries | People | FAQ | More | 
template<class ForwardRange, class UnaryPredicate> typename range_iterator<ForwardRange>::type stable_partition(ForwardRange& rng, UnaryPredicate pred); template<class ForwardRange, class UnaryPredicate> typename range_iterator<const ForwardRange>::type stable_partition(const ForwardRange& rng, UnaryPredicate pred); template< range_return_value re, class ForwardRange, class UnaryPredicate > typename range_return<ForwardRange, re>::type stable_partition(ForwardRange& rng, UnaryPredicate pred); template< range_return_value re, class ForwardRange, class UnaryPredicate > typename range_return<const ForwardRange, re>::type stable_partition(const ForwardRange& rng, UnaryPredicate pred);
            stable_partition reorders
            the elements in the range rng
            base on the function object pred.
            Once this function has completed all of the elements that satisfy pred appear before all of the elements
            that fail to satisfy it. stable_partition
            differs from partition
            because it preserves relative order. It is stable.
          
            For the versions that return an iterator, the return value is the iterator
            to the first element that fails to satisfy pred.
          
            For versions that return a range_return,
            the found iterator is
            the iterator to the first element that fails to satisfy pred.
          
            Defined in the header file boost/range/algorithm/stable_partition.hpp
          
ForwardRange is a
                model of the Forward
                Range Concept.
              ForwardRange is mutable.
              UnaryPredicate is
                a model of the PredicateConcept.
              
            Best case: O(N)
            where N is distance(rng).
            Worst case: N *
            log(N)
            swaps, where N is distance(rng).