added pseudo-code for facade_iterator_category type function

[SVN r21736]
This commit is contained in:
Jeremy Siek
2004-01-14 19:57:11 +00:00
parent 731576fbfe
commit 2854c5c761
10 changed files with 277 additions and 434 deletions

View File

@ -33,12 +33,14 @@ type. Otherwise ``difference_type`` is ``Difference``.
If ``CategoryOrTraversal`` is not ``use_default`` then the member
``iterator_category`` is ``CategoryOrTraversal``. Otherwise, if
``numeric_limits<Incrementable>::is_specialized``, then
``iterator_category`` is a type convertible to
``random_access_iterator_tag``. Otherwise, ``iterator_category`` is
unspecified.
``iterator_category`` is a
``facade_iterator_category(random_access_traversal_tag, Incrementable, const Incrementable&)``.
Otherwise, ``iterator_category`` is
``facade_iterator_category(iterator_traversal<Incrementable>::type, Incrementable, const Incrementable&)``.
[*Note:* implementers are encouraged to provide an implementation of
``operator-`` and a ``difference_type`` that avoids overflows in
``operator-`` and the default ``difference_type`` that avoids overflows in
the cases when the ``Incrementable`` type is a numeric type.]
``counting_iterator`` requirements