From 08ce6903ce46c8214235288f208986fb2a30c141 Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Mon, 12 Jan 2004 20:31:44 +0000 Subject: [PATCH] resolved Howards issue about a->m [SVN r21646] --- doc/new-iter-concepts.html | 25 +++++++++++++------------ doc/new-iter-concepts.rst | 36 +++++++++++++++++------------------- 2 files changed, 30 insertions(+), 31 deletions(-) diff --git a/doc/new-iter-concepts.html b/doc/new-iter-concepts.html index 1e04c84..9dcc450 100755 --- a/doc/new-iter-concepts.html +++ b/doc/new-iter-concepts.html @@ -366,9 +366,9 @@ the stated semantics. U is the type T.

--++ @@ -386,21 +386,22 @@ non-cv-qualified type - + - +
Readable Iterator Requirements (in addition to Assignable and Copy Constructible)
*a Convertible to Tpre: a is -dereferenceable. If a -== b then *a is -equivalent to *b.
+
pre: a is dereferenceable. If a == b then *a
+
is equivalent to *b.
+
+
a->m U&pre: (*a).m is -well-defined. Equivalent -to (*a).mpre: static_cast<T const&>(*a).m is well-defined. If +static_cast<T&>(*a).m is well-defined, equivalent to +static_cast<T&>(*a).m; otherwise, equivalent to +static_cast<T const&>(*a).m.
- +

Writable Iterators [lib.writable.iterators]

@@ -880,7 +881,7 @@ LocalWords: TraversalTag typename lvalues DWA Hmm JGS mis enum --> diff --git a/doc/new-iter-concepts.rst b/doc/new-iter-concepts.rst index c33115a..9144d1b 100644 --- a/doc/new-iter-concepts.rst +++ b/doc/new-iter-concepts.rst @@ -360,26 +360,24 @@ Copy Constructible, the following expressions are valid and respect the stated semantics. ``U`` is the type of any specified member of type ``T``. -+--------------------------------------------------------------------------------------+ -|Readable Iterator Requirements (in addition to Assignable and Copy Constructible) | -+-----------------------------------+------------------------+-------------------------+ -|Expression |Return Type |Note/Precondition | -+===================================+========================+=========================+ -|``iterator_traits::value_type`` |``T`` |Any non-reference, | -| | |non-cv-qualified type | -+-----------------------------------+------------------------+-------------------------+ -|``*a`` | Convertible to ``T`` |pre: ``a`` is | -| | |dereferenceable. If ``a | -| | |== b`` then ``*a`` is | -| | |equivalent to ``*b``. | -+-----------------------------------+------------------------+-------------------------+ -|``a->m`` |``U&`` |pre: ``(*a).m`` is | -| | |well-defined. Equivalent| -| | |to ``(*a).m`` | -+-----------------------------------+------------------------+-------------------------+ ++------------------------------------------------------------------------------------------------------------------------+ +|Readable Iterator Requirements (in addition to Assignable and Copy Constructible) | ++-----------------------------------+------------------------+-----------------------------------------------------------+ +|Expression |Return Type |Note/Precondition | ++===================================+========================+===========================================================+ +|``iterator_traits::value_type`` |``T`` |Any non-reference, | +| | |non-cv-qualified type | ++-----------------------------------+------------------------+-----------------------------------------------------------+ +|``*a`` | Convertible to ``T`` |pre: ``a`` is dereferenceable. If ``a == b`` then ``*a`` | +| | | is equivalent to ``*b``. | ++-----------------------------------+------------------------+-----------------------------------------------------------+ +|``a->m`` |``U&`` |pre: ``static_cast(*a).m`` is well-defined. If | +| | |``static_cast(*a).m`` is well-defined, equivalent to | +| | |``static_cast(*a).m``; otherwise, equivalent to | +| | |``static_cast(*a).m``. | ++-----------------------------------+------------------------+-----------------------------------------------------------+ -.. We won't say anything about iterator_traits::reference until - the DR is resolved. +.. We won't say anything about iterator_traits::reference until the DR is resolved. -JGS .. _Writable Iterator: