From 5a331be2413712a2820f12ccf4456f4cf0cb091d Mon Sep 17 00:00:00 2001
From: Jonathan Turkanis
-Date:
2004-11-01 Number: This is a revised version of N1530=03-0113, which was
+
@@ -235,12 +235,12 @@ Iterator Concepts.Number: This is a revised version of N1530=03-0113, which was
accepted for Technical Report 1 by the C++ standard
committee's library working group.
This proposal is formulated in terms of the new iterator concepts -as proposed in n1550, since user-defined and especially adapted +as proposed in n1550, since user-defined and especially adapted iterators suffer from the well known categorization problems that are inherent to the current iterator categories.
-This proposal does not strictly depend on proposal n1550, as there +
This proposal does not strictly depend on proposal n1550, as there is a direct mapping between new and old categories. This proposal -could be reformulated using this mapping if n1550 was not accepted.
+could be reformulated using this mapping if n1550 was not accepted.Writable iterators built with iterator_facade implement the semantics required by the preferred resolution to issue 299 and -adopted by proposal n1550: the result of p[n] is an object +adopted by proposal n1550: the result of p[n] is an object convertible to the iterator's value_type, and p[n] = x is equivalent to *(p + n) = x (Note: This result object may be implemented as a proxy containing a copy of p+n). This approach diff --git a/doc/iterator_facade.html b/doc/iterator_facade.html index 493a7e0..d68099d 100644 --- a/doc/iterator_facade.html +++ b/doc/iterator_facade.html @@ -234,7 +234,7 @@ into the temporary iterator p+n operator[] returns.
Writable iterators built with iterator_facade implement the semantics required by the preferred resolution to issue 299 and -adopted by proposal n1550: the result of p[n] is an object +adopted by proposal n1550: the result of p[n] is an object convertible to the iterator's value_type, and p[n] = x is equivalent to *(p + n) = x (Note: This result object may be implemented as a proxy containing a copy of p+n). This approach @@ -1269,8 +1269,8 @@ If we try to convert from node_co constructor tries to initialize node_iterator's m_node, a node* with a node const*. So what's the problem?
The problem is that -boost::is_convertible<node_const_iterator,node_iterator>::value -will be true, but it should be false. is_convertible +boost::is_convertible<node_const_iterator,node_iterator>::value +will be true, but it should be false. is_convertible lies because it can only see as far as the declaration of node_iter's converting constructor, but can't look inside at the definition to make sure it will compile. A perfect solution diff --git a/doc/new-iter-concepts.html b/doc/new-iter-concepts.html index 186d6ad..f50727a 100755 --- a/doc/new-iter-concepts.html +++ b/doc/new-iter-concepts.html @@ -27,7 +27,7 @@ Lab, Zephyr Associates, Inc.