|
Boost-Commit : |
From: chris_at_[hidden]
Date: 2008-05-04 12:44:51
Author: chrisj
Date: 2008-05-04 12:44:51 EDT (Sun, 04 May 2008)
New Revision: 45114
URL: http://svn.boost.org/trac/boost/changeset/45114
Log:
Slight tweak - also remove Mutable from many algorithm requirements
Text files modified:
sandbox/committee/concepts/issues/issues/issue29.xml | 2
sandbox/committee/concepts/stdlib/clib-algorithms.tex | 56 ++++++++++++++++++++--------------------
2 files changed, 29 insertions(+), 29 deletions(-)
Modified: sandbox/committee/concepts/issues/issues/issue29.xml
==============================================================================
--- sandbox/committee/concepts/issues/issues/issue29.xml (original)
+++ sandbox/committee/concepts/issues/issues/issue29.xml 2008-05-04 12:44:51 EDT (Sun, 04 May 2008)
@@ -24,7 +24,7 @@
<resolution>
<p>
- Replace any references to <tt>MoveConstructible, MoveAssignable</tt> and <tt>Swappable</tt> in the requires section of <tt>reverse, rotate, random_shuffle, partition, stable_partition, sort, stable_sort, partial_sort, nth_element, inplace_merge, push_heap, pop_heap, make_heap, sort_heap, next_permutation, prev_permutation</tt> with <tt>SwappableIterator</tt>, and remove all references to <tt>SameType</tt>. Further, replace the concepts:
+ Replace any references to <tt>MoveConstructible, MoveAssignable</tt> and <tt>Swappable</tt> in the requires section of <tt>reverse, rotate, random_shuffle, partition, stable_partition, sort, stable_sort, partial_sort, nth_element, inplace_merge, push_heap, pop_heap, make_heap, sort_heap, next_permutation, prev_permutation</tt> with <tt>SwappableIterator</tt>, remove all references to <tt>SameType</tt> and remove <tt>Mutable</tt> from any iterator requirements. Further, replace the concepts:
</p>
<pre>
Modified: sandbox/committee/concepts/stdlib/clib-algorithms.tex
==============================================================================
--- sandbox/committee/concepts/stdlib/clib-algorithms.tex (original)
+++ sandbox/committee/concepts/stdlib/clib-algorithms.tex 2008-05-04 12:44:51 EDT (Sun, 04 May 2008)
@@ -333,7 +333,7 @@
OutIter unique_copy(InIter @\farg{first}@, InIter @\farg{last}@,
OutIter @\farg{result}@, Pred @\farg{pred}@);
- template<MutableBidirectionalIterator Iter>
+ template<@\removedCC{Mutable}@BidirectionalIterator Iter>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type>}@
@\addedCC{SwappableIterator<Iter>}@
void reverse(Iter @\farg{first}@, Iter @\farg{last}@);
@@ -350,12 +350,12 @@
OutIter rotate_copy(InIter @\farg{first}@, InIter @\farg{middle}@,
InIter @\farg{last}@, OutIter @\farg{result}@);
- template<MutableRandomAccessIterator Iter>
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type>}@
@\addedCC{SwappableIterator<Iter>}@
void random_shuffle(Iter @\farg{first}@,
Iter @\farg{last}@);
- template<MutableRandomAccessIterator Iter, Callable<auto, Iter::difference_type> Rand>
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter, Callable<auto, Iter::difference_type> Rand>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\& }@
@\addedCC{SwappableIterator<Iter> \&\&}@ Convertible<Rand::result_type, Iter::difference_type>
void random_shuffle(Iter @\farg{first}@,
@@ -371,7 +371,7 @@
@\color{addclr}@requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type>}@
@\addedCC{SwappableIterator<Iter>}@
Iter partition(Iter @\farg{first}@, Iter @\farg{last}@, Pred @\farg{pred}@);
- template<MutableBidirectionalIterator Iter, Predicate<auto Iter::reference> Pred>
+ template<@\removedCC{Mutable}@BidirectionalIterator Iter, Predicate<auto Iter::reference> Pred>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\&}@
@\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type>}@
@\addedCC{SwappableIterator<Iter>}@
@@ -379,13 +379,13 @@
@\textcolor{black}{// \ref{alg.sorting}, sorting and related operations:}@
@\textcolor{black}{// \ref{alg.sort}, sorting:}@
- template<MutableRandomAccessIterator Iter>
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\&}@
@\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type> \&\&}@
@\addedCC{SwappableIterator<Iter> \&\&}@
LessThanComparable<Iter::value_type>
void sort(Iter @\farg{first}@, Iter @\farg{last}@);
- template<MutableRandomAccessIterator Iter,
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter,
Predicate<auto, Iter::value_type, Iter::value_type> Compare>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\&}@
@\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type>}@
@@ -393,13 +393,13 @@
void sort(Iter @\farg{first}@, Iter @\farg{last}@,
Compare @\farg{comp}@);
- template<MutableRandomAccessIterator Iter>
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\&}@
@\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type> \&\&}@
@\addedCC{SwappableIterator<Iter> \&\&}@
LessThanComparable<Iter::value_type>
void stable_sort(Iter @\farg{first}@, Iter @\farg{last}@);
- template<MutableRandomAccessIterator Iter,
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter,
Predicate<auto, Iter::value_type, Iter::value_type> Compare>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\&}@
@\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type>}@
@@ -407,7 +407,7 @@
void stable_sort(Iter @\farg{first}@, Iter @\farg{last}@,
Compare @\farg{comp}@);
- template<MutableRandomAccessIterator Iter>
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\&}@
@\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type>}@
@\addedCC{SwappableIterator<Iter>}@ @\addedCC{\&\&}@
@@ -415,7 +415,7 @@
void partial_sort(Iter @\farg{first}@,
Iter @\farg{middle}@,
Iter @\farg{last}@);
- template<MutableRandomAccessIterator Iter,
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter,
Predicate<auto, Iter::value_type, Iter::value_type> Compare>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\&}@
@\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type>}@
@@ -424,7 +424,7 @@
Iter @\farg{middle}@,
Iter @\farg{last}@,
Compare @\farg{comp}@);
- template<InputIterator InIter, MutableRandomAccessIterator RAIter>
+ template<InputIterator InIter, @\removedCC{Mutable}@RandomAccessIterator RAIter>
requires CopyAssignable<RAIter::reference, InIter::value_type> &&
@\removedCC{SameType<RAIter::value_type\&, RAIter::reference> \&\& Swappable<RAIter::value_type> \&\&}@
@\removedCC{MoveConstructible<RAIter::value_type> \&\& MoveAssignable<RAIter::value_type> \&\&}@
@@ -434,7 +434,7 @@
HasLess<RAIter::value_type>
RAIter partial_sort_copy(InIter @\farg{first}@, InIter @\farg{last}@,
RAIter @\farg{result_first}@, RAIter @\farg{result_last}@);
- template<InputIterator InIter, MutableRandomAccessIterator RAIter, class Compare>
+ template<InputIterator InIter, @\removedCC{Mutable}@RandomAccessIterator RAIter, class Compare>
requires CopyAssignable<RAIter::reference, InIter::value_type> &&
@\removedCC{SameType<RAIter::value_type\&, RAIter::reference> \&\& Swappable<RAIter::value_type> \&\&}@
@\removedCC{MoveConstructible<RAIter::value_type> \&\& MoveAssignable<RAIter::value_type> \&\&}@
@@ -459,14 +459,14 @@
Iter is_sorted_until(Iter @\farg{first}@, Iter @\farg{last}@,
Compare @\farg{comp}@);
- template<MutableRandomAccessIterator Iter>
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\&}@
@\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type> \&\&}@
@\addedCC{SwappableIterator<Iter> \&\&}@
LessThanComparable<Iter::value_type>
void nth_element(Iter @\farg{first}@, Iter @\farg{nth}@,
Iter @\farg{last}@);
- template<MutableRandomAccessIterator Iter,
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter,
Predicate<auto, Iter::value_type, Iter::value_type> Compare>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\&}@
@\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type>}@
@@ -532,7 +532,7 @@
InIter2 @\farg{first2}@, InIter2 @\farg{last2}@,
OutIter @\farg{result}@, Compare @\farg{comp}@);
- template<MutableBidirectionalIterator Iter>
+ template<@\removedCC{Mutable}@BidirectionalIterator Iter>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\&}@
@\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type> \&\&}@
@\addedCC{SwappableIterator<Iter> \&\&}@
@@ -540,7 +540,7 @@
void inplace_merge(Iter @\farg{first}@,
Iter @\farg{middle}@,
Iter @\farg{last}@);
- template<MutableBidirectionalIterator Iter,
+ template<@\removedCC{Mutable}@BidirectionalIterator Iter,
Predicate<auto, Iter::value_type, Iter::value_type> Compare>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\&}@
@\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type>}@
@@ -622,24 +622,24 @@
OutIter @\farg{result}@, Compare @\farg{comp}@);
@\textcolor{black}{// \ref{alg.heap.operations}, heap operations:}@
- template<MutableRandomAccessIterator Iter>
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter>
requires @\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type> \&\&}@
@\addedCC{SwappableIterator<Iter> \&\&}@
LessThanComparable<Iter::value_type>
void push_heap(Iter @\farg{first}@, Iter @\farg{last}@);
- template<MutableRandomAccessIterator Iter,
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter,
Predicate<auto, Iter::value_type, Iter::value_type> Compare>
requires @\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type>}@
@\addedCC{SwappableIterator<Iter>}@
void push_heap(Iter @\farg{first}@, Iter @\farg{last}@,
Compare @\farg{comp}@);
- template<MutableRandomAccessIterator Iter>
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter>
requires @\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type> \&\&}@
@\removedCC{Swappable<Iter::value_type>}@
@\addedCC{SwappableIterator<Iter>}@ && LessThanComparable<Iter::value_type>
void pop_heap(Iter @\farg{first}@, Iter @\farg{last}@);
- template<MutableRandomAccessIterator Iter,
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter,
Predicate<auto, Iter::value_type, Iter::value_type> Compare>
requires @\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type> \&\&}@
@\removedCC{Swappable<Iter::value_type>}@
@@ -647,24 +647,24 @@
void pop_heap(Iter @\farg{first}@, Iter @\farg{last}@,
Compare @\farg{comp}@);
- template<MutableRandomAccessIterator Iter>
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter>
requires @\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type> \&\&}@
@\addedCC{SwappableIterator<Iter> \&\&}@
LessThanComparable<Iter::value_type>
void make_heap(Iter @\farg{first}@, Iter @\farg{last}@);
- template<MutableRandomAccessIterator Iter,
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter,
Predicate<auto, Iter::value_type, Iter::value_type> Compare>
requires @\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type>}@
@\addedCC{SwappableIterator<Iter>}@
void make_heap(Iter @\farg{first}@, Iter @\farg{last}@,
Compare @\farg{comp}@);
- template<MutableRandomAccessIterator Iter>
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter>
requires @\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type> \&\&}@
@\removedCC{Swappable<Iter::value_type>}@
@\addedCC{SwappableIterator<Iter>}@ && LessThanComparable<Iter::value_type>
void sort_heap(Iter @\farg{first}@, Iter @\farg{last}@);
- template<MutableRandomAccessIterator Iter,
+ template<@\removedCC{Mutable}@RandomAccessIterator Iter,
Predicate<auto, Iter::value_type, Iter::value_type> Compare>
requires @\removedCC{MoveConstructible<Iter::value_type> \&\& MoveAssignable<Iter::value_type>}@
@\addedCC{SwappableIterator<Iter>}@
@@ -753,22 +753,22 @@
Compare @\farg{comp}@);
@\textcolor{black}{// \ref{alg.permutation.generators}, permutations:}@
- template<MutableBidirectionalIterator Iter>
+ template<@\removedCC{Mutable}@BidirectionalIterator Iter>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\&}@
@\addedCC{SwappableIterator<Iter>}@
@\textcolor{addclr}{LessThanComparable}@<Iter::reference>
bool next_permutation(Iter @\farg{first}@, Iter @\farg{last}@);
- template<MutableBidirectionalIterator Iter,
+ template<@\removedCC{Mutable}@BidirectionalIterator Iter,
Predicate<auto, Iter::reference, Iter::reference> Compare>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type>}@
@\addedCC{SwappableIterator<Iter>}@
@\textcolor{addclr}{}@bool next_permutation(Iter @\farg{first}@, Iter @\farg{last}@, Compare @\farg{comp}@);
- template<MutableBidirectionalIterator Iter>
+ template<@\removedCC{Mutable}@BidirectionalIterator Iter>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type> \&\&}@
@\addedCC{SwappableIterator<Iter>}@
@\textcolor{addclr}{}@LessThanComparable<Iter::reference>
bool prev_permutation(Iter @\farg{first}@, Iter @\farg{last}@);
- template<MutableBidirectionalIterator Iter,
+ template<@\removedCC{Mutable}@BidirectionalIterator Iter,
Predicate<auto, Iter::reference, Iter::reference> Compare>
requires @\removedCC{SameType<Iter::value_type\&, Iter::reference> \&\& Swappable<Iter::value_type>}@
@\addedCC{SwappableIterator<Iter>}@
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk