Boost.Range merge from trunk to release.

This is motivated by the need to correct the istream_range, to correct the adaptors.hpp header file, and correct the return types of various range algorithms.

[SVN r61517]
This commit is contained in:
Neil Groves
2010-04-23 22:50:56 +00:00
parent dfc30e334d
commit a47f15a98f
223 changed files with 2754 additions and 2666 deletions

View File

@ -4,16 +4,16 @@
``
template<class BidirectionalRange>
void next_permutation(BidirectionalRange& rng);
bool next_permutation(BidirectionalRange& rng);
template<class BidirectionalRange>
void next_permutation(const BidirectionalRange& rng);
bool next_permutation(const BidirectionalRange& rng);
template<class BidirectionalRange, class Compare>
void next_permutation(BidirectionalRange& rng, Compare pred);
bool next_permutation(BidirectionalRange& rng, Compare pred);
template<class BidirectionalRange, class Compare>
void next_permutation(const BidirectionalRange& rng, Compare pred);
bool next_permutation(const BidirectionalRange& rng, Compare pred);
``
[heading Description]
@ -21,7 +21,7 @@ void next_permutation(const BidirectionalRange& rng, Compare pred);
`next_permutation` transforms the range of elements `rng` into the lexicographically next greater permutation of the elements if such a permutation exists. If one does not exist then the range is transformed into the lexicographically smallest permutation and `false` is returned. `true` is returned when the next greater 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.
[heading Definition]
Defined in the header file `boost/range/algorithm/permutation.hpp`