if is_convertible<Dr2,Dr1>::value, then
-lhs.distance_to(rhs)>=0. Otherwise,
-rhs.distance_to(lhs)<=0.
+
Returns:
if is_convertible<Dr2,Dr1>::value
+
+
then
+
((Dr1const&)lhs).distance_to((Dr2const&)rhs)>=0.
+
Otherwise,
+
((Dr2const&)rhs).distance_to((Dr1const&)lhs)<=0.
+
+
template <class Dr1, class V1, class TC1, class R1, class D1,
class Dr2, class V2, class TC2, class R2, class D2>
-typename enable_if_interoperable<Dr1,Dr2,difference_type>::type
+typename enable_if_interoperable<Dr1,Dr2,difference>::type
operator -(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
iterator_facade<Dr2,V2,TC2,R2,D2> const& rhs);
if is_convertible<Dr2,Dr1>::value, then difference_type shall be
-iterator_traits<Dr1>::difference_type. Otherwise,
-difference_type shall be
-iterator_traits<Dr2>::difference_type.
+
Return Type:
if is_convertible<Dr2,Dr1>::value
+
+
+
then
+
difference shall be
+iterator_traits<Dr1>::difference_type.
+
Otherwise
+
difference shall be iterator_traits<Dr2>::difference_type
+
+
+
-
Returns:
if is_convertible<Dr2,Dr1>::value, then
--lhs.distance_to(rhs). Otherwise,
-rhs.distance_to(lhs).
+
Returns:
if is_convertible<Dr2,Dr1>::value
+
+
then
+
-((Dr1const&)lhs).distance_to((Dr2const&)rhs).
+
Otherwise,
+
((Dr2const&)rhs).distance_to((Dr1const&)lhs).
+
+
@@ -1722,7 +1763,9 @@ convertible to input_iterator_tag
Iterator must be a model of Bidirectional Traversal Iterator.
+
Iterator must be a model of Bidirectional Traversal Iterator. The
+type iterator_traits<Iterator>::reference must be the type of
+*i, where i is an object of type Iterator.
template <class Dr1, class V1, class TC1, class R1, class D1,
class Dr2, class V2, class TC2, class R2, class D2>
-typename enable_if_interoperable<Dr1,Dr2,difference_type>::type
+typename enable_if_interoperable<Dr1,Dr2,difference>::type
operator -(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
iterator_facade<Dr2,V2,TC2,R2,D2> const& rhs);
if is_convertible<Dr2,Dr1>::value, then difference_type shall be
-iterator_traits<Dr1>::difference_type. Otherwise,
-difference_type shall be
-iterator_traits<Dr2>::difference_type.
+
Return Type:
if is_convertible<Dr2,Dr1>::value
+
+
+
then
+
difference shall be
+iterator_traits<Dr1>::difference_type.
+
Otherwise
+
difference shall be iterator_traits<Dr2>::difference_type
+
+
+
-
Returns:
if is_convertible<Dr2,Dr1>::value, then
--lhs.distance_to(rhs). Otherwise,
-rhs.distance_to(lhs).
+
Returns:
if is_convertible<Dr2,Dr1>::value
+
+
then
+
-((Dr1const&)lhs).distance_to((Dr2const&)rhs).
+
Otherwise,
+
((Dr2const&)rhs).distance_to((Dr1const&)lhs).
+
+
diff --git a/doc/reverse_iterator.html b/doc/reverse_iterator.html
index acc42cb..a867521 100644
--- a/doc/reverse_iterator.html
+++ b/doc/reverse_iterator.html
@@ -90,7 +90,9 @@ convertible to input_iterator_tag
Iterator must be a model of Bidirectional Traversal Iterator.
+
Iterator must be a model of Bidirectional Traversal Iterator. The
+type iterator_traits<Iterator>::reference must be the type of
+*i, where i is an object of type Iterator.
diff --git a/doc/transform_iterator.html b/doc/transform_iterator.html
index e5a715f..183ddf2 100644
--- a/doc/transform_iterator.html
+++ b/doc/transform_iterator.html
@@ -3,7 +3,7 @@
-
+
Transform Iterator
@@ -132,12 +132,12 @@ it models the following original iterator concepts depending on what
the Iterator argument models.
-
-
+
+
If Iterator models
-
then filter_iterator models
+
then transform_iterator models
@@ -318,5 +318,10 @@ adding 4 to each element in the array:
The source code for this example can be found here.