|  | Home | Libraries | People | FAQ | More | 
template<class BidirectionalRange> bool prev_permutation(BidirectionalRange& rng); template<class BidirectionalRange> bool prev_permutation(const BidirectionalRange& rng); template<class BidirectionalRange, class Compare> bool prev_permutation(BidirectionalRange& rng, Compare pred); template<class BidirectionalRange, class Compare> bool prev_permutation(const BidirectionalRange& rng, Compare pred);
            prev_permutation transforms
            the range of elements rng
            into the lexicographically next smaller permutation of the elements if
            such a permutation exists. If one does not exist then the range is transformed
            into the lexicographically largest permutation and false
            is returned. true is returned
            when the next smaller permutation is successfully generated.
          
            The ordering relationship is determined by using operator< in the non-predicate versions, and
            by evaluating pred in
            the predicate versions.
          
            Defined in the header file boost/range/algorithm/permutation.hpp
          
For the non-predicate versions:
BidirectionalRange
                is a model of the Bidirectional
                Range Concept.
              BidirectionalRange
                is mutable.
              BidirectionalRange's
                value type is a model of the LessThanComparableConcept.
              BidirectionalRange's
                value type is a strict weak ordering,
                as defined in the LessThanComparableConcept
                requirements.
              For the predicate versions:
BidirectionalRange
                is a model of the Bidirectional
                Range Concept.
              BidirectionalRange
                is mutable.
              Compare is a model
                of the StrictWeakOrderingConcept.
              BidirectionalRange's
                value type is convertible to both of Compare's
                argument types.
              
            Linear. At most distance(rng) / 2
            swaps.