diff --git a/doc/iterator_facade_ref.rst b/doc/iterator_facade_ref.rst index 4ec61b5..4b6631b 100644 --- a/doc/iterator_facade_ref.rst +++ b/doc/iterator_facade_ref.rst @@ -311,8 +311,14 @@ __ `operator arrow`_ operator ==(iterator_facade const& lhs, iterator_facade const& rhs); -:Returns: if ``is_convertible::value``, then - ``lhs.equal(rhs)``. Otherwise, ``rhs.equal(lhs)``. +:Returns: + if ``is_convertible::value`` + + then + ``((Dr1 const&)lhs).equal((Dr2 const&)rhs)``. + + Otherwise, + ``((Dr2 const&)rhs).equal((Dr1 const&)lhs)``. :: @@ -322,8 +328,14 @@ __ `operator arrow`_ operator !=(iterator_facade const& lhs, iterator_facade const& rhs); -:Returns: if ``is_convertible::value``, then - ``!lhs.equal(rhs)``. Otherwise, ``!rhs.equal(lhs)``. +:Returns: + if ``is_convertible::value`` + + then + ``!((Dr1 const&)lhs).equal((Dr2 const&)rhs)``. + + Otherwise, + ``!((Dr2 const&)rhs).equal((Dr1 const&)lhs)``. :: @@ -333,9 +345,14 @@ __ `operator arrow`_ operator <(iterator_facade const& lhs, iterator_facade const& rhs); -:Returns: if ``is_convertible::value``, then - ``lhs.distance_to(rhs) < 0``. Otherwise, ``rhs.distance_to(lhs) > - 0``. +:Returns: + if ``is_convertible::value`` + + then + ``((Dr1 const&)lhs).distance_to((Dr2 const&)rhs) < 0``. + + Otherwise, + ``((Dr2 const&)rhs).distance_to((Dr1 const&)lhs) > 0``. :: @@ -345,9 +362,14 @@ __ `operator arrow`_ operator <=(iterator_facade const& lhs, iterator_facade const& rhs); -:Returns: if ``is_convertible::value``, then - ``lhs.distance_to(rhs) <= 0``. Otherwise, ``rhs.distance_to(lhs) - >= 0``. +:Returns: + if ``is_convertible::value`` + + then + ``((Dr1 const&)lhs).distance_to((Dr2 const&)rhs) <= 0``. + + Otherwise, + ``((Dr2 const&)rhs).distance_to((Dr1 const&)lhs) >= 0``. :: @@ -357,9 +379,14 @@ __ `operator arrow`_ operator >(iterator_facade const& lhs, iterator_facade const& rhs); -:Returns: if ``is_convertible::value``, then - ``lhs.distance_to(rhs) > 0``. Otherwise, - ``rhs.distance_to(lhs) < 0``. +:Returns: + if ``is_convertible::value`` + + then + ``((Dr1 const&)lhs).distance_to((Dr2 const&)rhs) > 0``. + + Otherwise, + ``((Dr2 const&)rhs).distance_to((Dr1 const&)lhs) < 0``. :: @@ -370,9 +397,14 @@ __ `operator arrow`_ operator >=(iterator_facade const& lhs, iterator_facade const& rhs); -:Returns: if ``is_convertible::value``, then - ``lhs.distance_to(rhs) >= 0``. Otherwise, - ``rhs.distance_to(lhs) <= 0``. +:Returns: + if ``is_convertible::value`` + + then + ``((Dr1 const&)lhs).distance_to((Dr2 const&)rhs) >= 0``. + + Otherwise, + ``((Dr2 const&)rhs).distance_to((Dr1 const&)lhs) <= 0``. .. _minus: @@ -380,15 +412,25 @@ __ `operator arrow`_ template - typename enable_if_interoperable::type + typename enable_if_interoperable::type operator -(iterator_facade const& lhs, iterator_facade const& rhs); -:Return Type: if ``is_convertible::value``, then ``difference_type`` shall be - ``iterator_traits::difference_type``. Otherwise, - ``difference_type`` shall be - ``iterator_traits::difference_type``. +:Return Type: + if ``is_convertible::value`` -:Returns: if ``is_convertible::value``, then - ``-lhs.distance_to(rhs)``. Otherwise, - ``rhs.distance_to(lhs)``. + then + ``difference`` shall be + ``iterator_traits::difference_type``. + + Otherwise + ``difference`` shall be ``iterator_traits::difference_type`` + +:Returns: + if ``is_convertible::value`` + + then + ``-((Dr1 const&)lhs).distance_to((Dr2 const&)rhs)``. + + Otherwise, + ``((Dr2 const&)rhs).distance_to((Dr1 const&)lhs)``.