CVS difference for ai12s/ai12-0266-1.txt
--- ai12s/ai12-0266-1.txt 2019/02/01 03:02:41 1.14
+++ ai12s/ai12-0266-1.txt 2019/02/13 06:14:22 1.15
@@ -12,29 +12,21 @@
!standard 5.5.2(13/3)
!standard 5.5.2(15/3)
!standard A.18.2(74.1/3)
-!standard A.18.2(74.2/3)
!standard A.18.2(230.1/3)
!standard A.18.2(230.2/3)
-!standard A.18.2(230.3/3)
-!standard A.18.2(230.4/3)
!standard A.18.3(46.1/3)
-!standard A.18.3(46.2/3)
!standard A.18.3(144.1/3)
!standard A.18.3(144.2/3)
-!standard A.18.3(144.3/3)
-!standard A.18.3(144.4/3)
!standard A.18.5(37.1/3)
!standard A.18.5(61.1/3)
!standard A.18.5(61.2/3)
!standard A.18.6(51.1/3)
-!standard A.18.6(51.2/3)
!standard A.18.6(94.1/3)
!standard A.18.6(94.2/3)
!standard A.18.8(49.1/3)
!standard A.18.8(85.1/3)
!standard A.18.8(85.2/3)
!standard A.18.9(61.1/3)
-!standard A.18.9(61.2/3)
!standard A.18.9(113.1/3)
!standard A.18.9(113.2/3)
!standard A.18.10(44/3)
@@ -48,6 +40,7 @@
!standard A.18.10(219/3)
!class Amendment 18-03-28
!status Amendment 1-2012 19-01-29
+!status ARG Approved 8-0-2 19-02-12
!status work item 18-03-28
!status received 18-03-28
!priority Medium
@@ -244,7 +237,7 @@
parameter, specifying the upper bound for the number of loop parameter objects
(and the number of logical threads of control) to be associated with the
iterator. In the absence of a chunk_specification, the maximum number of
- chunks is determined in an implementation defined manner.
+ chunks is determined in an implementation-defined manner.
Upon return from Split_Into_Chunks, the actual number of chunks for
the loop is determined by calling the Chunk_Count operation of the
@@ -277,7 +270,7 @@
AARM Discussion: The Max_Chunks parameter of the Split_Into_Chunks procedure
is an upper bound for the number of chunks to be associated with a loop. A
container implementation may opt for a lower value for the number of chunks
- if a more optimal split can be determined. For instance, a tree based
+ if a more optimal split can be determined. For instance, a tree-based
container might create the split based on the number of branches at the top
levels of the tree.
@@ -359,11 +352,6 @@
function Iterate (Container : in Vector)
return Vector_Iterator_Interfaces.{Parallel_}Reversible_Iterator'Class;
-Modify A.18.2(74.2/3):
-
-function Iterate (Container : in Vector; Start : in Cursor)
- return Vector_Iterator_Interfaces.{Parallel_}Reversible_Iterator'Class;
-
Modify A.18.2(230.1/3):
function Iterate (Container : in Vector)
@@ -371,50 +359,23 @@
Modify A.18.2(230.2/3):
- Iterate returns a {parallel and} reversible iterator object (see
+ Iterate returns {an}[a reversible] iterator object (see
5.5.1) that will generate a value for a loop parameter (see 5.5.2)
designating each node in Container, starting with the first node and
moving the cursor as per the Next function when used as a forward
- iterator, and starting with the last node and moving the cursor as per
- the Previous function when used as a reverse iterator {, and starting
- with all nodes concurrently when used as a parallel iterator}.
+ iterator, and processing the last node and moving the cursor as per
+ the Previous function when used as a reverse iterator {, and processing
+ all nodes concurrently when used as a parallel iterator}.
Tampering with the cursors of Container is prohibited while the
iterator object exists (in particular, in the sequence_of_statements
of the loop_statement whose iterator_specification denotes this
object). The iterator object needs finalization.
-Modify A.18.2(230.3/3):
-
- function Iterate (Container : in Vector; Start : in Cursor)
- return Vector_Iterator_Interfaces.{Parallel_}Reversible_Iterator'Class;
-
-Modify A.18.2(230.4/3):
-
- If Start is not No_Element and does not designate an item in
- Container, then Program_Error is propagated. If Start is No_Element,
- then Constraint_Error is propagated. Otherwise, Iterate returns a
- {parallel and }reversible iterator object (see 5.5.1) that will
- generate a value for a loop parameter (see 5.5.2) designating each
- node in Container, starting with the node designated by Start and
- moving the cursor as per the Next function when used as a forward
- iterator, or moving the cursor as per the Previous function when used
- as a reverse iterator {, or all nodes concurrently when used as a
- parallel iterator}. Tampering with the cursors of Container is
- prohibited while the iterator object exists (in particular, in the
- sequence_of_statements of the loop_statement whose
- iterator_specification denotes this object). The iterator object needs
- finalization.
-
Modify A.18.3(46.1/3):
function Iterate (Container : in List)
return List_Iterator_Interfaces.{Parallel_}Reversible_Iterator'Class;
-Modify A.18.3(46.2/3):
-
-function Iterate (Container : in List; Start : in Cursor)
- return List_Iterator_Interfaces.{Parallel_}Reversible_Iterator'Class;
-
Modify A.18.3(144.1/3):
function Iterate (Container : in List)
@@ -422,40 +383,18 @@
Modify A.18.3(144.2/3):
- Iterate returns a {parallel and }reversible iterator object (see
+ Iterate returns {an}[a reversible] iterator object (see
5.5.1) that will generate a value for a loop parameter (see 5.5.2)
designating each node in Container, starting with the first node and
moving the cursor as per the Next function when used as a forward
- iterator, and starting with the last node and moving the cursor as per
- the Previous function when used as a reverse iterator {, and starting
- with all nodes concurrently when used as a parallel iterator}.
+ iterator, and processing the last node and moving the cursor as per
+ the Previous function when used as a reverse iterator {, and processing
+ all nodes concurrently when used as a parallel iterator}.
Tampering with the cursors of Container is prohibited while the
iterator object exists (in particular, in the sequence_of_statements
of the loop_statement whose iterator_specification denotes this
object). The iterator object needs finalization.
-Modify A.18.3(144.3/3):
-
-function Iterate (Container : in List; Start : in Cursor)
- return List_Iterator_Interfaces.Parallel_Reversible_Iterator'Class;
-
-Modify A.18.3(144.4/3):
-
- If Start is not No_Element and does not designate an item in
- Container, then Program_Error is propagated. If Start is No_Element,
- then Constraint_Error is propagated. Otherwise, Iterate returns a
- {parallel and} reversible iterator object (see 5.5.1) that will
- generate a value for a loop parameter (see 5.5.2) designating each
- node in Container, starting with the node designated by Start and
- moving the cursor as per the Next function when used as a forward
- iterator, or moving the cursor as per the Previous function when used
- as a reverse iterator {or all nodes concurrently used as a parallel
- iterator}. Tampering with the cursors of Container is prohibited while
- the iterator object exists (in particular, in the
- sequence_of_statements of the loop_statement whose
- iterator_specification denotes this object). The iterator object needs
- finalization.
-
Modify A.18.5(37.1/3):
function Iterate (Container : in Map)
@@ -468,11 +407,11 @@
Modify A.18.5(61.2/3):
- Iterate returns a[n] {parallel} iterator object (see 5.5.1) that will
+ Iterate returns an iterator object (see 5.5.1) that will
generate a value for a loop parameter (see 5.5.2) designating each
node in Container, starting with the first node and moving the cursor
according to the successor relation {when used as a forward iterator,
- and starting with all nodes concurrently when used as a parallel
+ and processing all nodes concurrently when used as a parallel
iterator}. Tampering with the cursors of Container is prohibited while
the iterator object exists (in particular, in the
sequence_of_statements of the loop_statement whose
@@ -484,11 +423,6 @@
function Iterate (Container : in Map)
return Map_Iterator_Interfaces.{Parallel_}Reversible_Iterator'Class;
-Modify A.18.6(51.2/3):
-
-function Iterate (Container : in Map; Start : in Cursor)
- return Map_Iterator_Interfaces.{Parallel_}Reversible_Iterator'Class;
-
Modify A.18.6(94.1/3):
function Iterate (Container : in Map)
@@ -496,41 +430,19 @@
Modify A.18.6(94.2/3):
- Iterate returns a {parallel and} reversible iterator object (see
+ Iterate returns {an}[a reversible] iterator object (see
5.5.1) that will generate a value{s} for a loop parameter (see 5.5.2)
designating each node in Container, starting with the first node and
moving the cursor according to the successor relation when used as a
forward iterator, and starting with the last node and moving the
cursor according to the predecessor relation when used as a reverse
- iterator {, and starting with all nodes concurrently when used as a
+ iterator {, and processing all nodes concurrently when used as a
parallel iterator}. Tampering with the cursors of Container is
prohibited while the iterator object exists (in particular, in the
sequence_of_statements of the loop_statement whose
iterator_specification denotes this object). The iterator object needs
finalization.
-Modify A.18.6(94.3/3):
-
-function Iterate (Container : in Map; Start : in Cursor)
- return Map_Iterator_Interfaces.{Parallel_}Reversible_Iterator'Class;
-
-Modify A.18.6(94.4/3):
-
- If Start is not No_Element and does not designate an item in
- Container, then Program_Error is propagated. If Start is No_Element,
- then Constraint_Error is propagated. Otherwise, Iterate returns a
- {parallel and} reversible iterator object (see 5.5.1) that will
- generate a value for a loop parameter (see 5.5.2) designating each
- node in Container, starting with the node designated by Start and
- moving the cursor according to the successor relation when used as a
- forward iterator, or moving the cursor according to the predecessor
- relation when used as a reverse iterator{, or all nodes concurrently
- when used as a parallel iterator}. Tampering with the cursors of
- Container is prohibited while the iterator object exists (in
- particular, in the sequence_of_statements of the loop_statement whose
- iterator_specification denotes this object). The iterator object needs
- finalization.
-
Modify A.18.8(49.1/3):
function Iterate (Container : in Set)
@@ -543,11 +455,11 @@
Modify A.18.8(85.2/3):
- Iterate returns a[n] {parallel} iterator object (see 5.5.1) that will
+ Iterate returns an iterator object (see 5.5.1) that will
generate a value for a loop parameter (see 5.5.2) designating each
element in Container, starting with the first element and moving the
cursor according to the successor relation {when used as a forward
- iterator, and starting with all nodes concurrently when used as a
+ iterator, and processing all nodes concurrently when used as a
parallel iterator.} Tampering with the cursors of Container is
prohibited while the iterator object exists (in particular, in the
sequence_of_statements of the loop_statement whose
@@ -559,11 +471,6 @@
function Iterate (Container : in Set)
return Set_Iterator_Interfaces.{Parallel_}Reversible_Iterator'Class;
-Modify A.18.9(61.2/3):
-
-function Iterate (Container : in Set; Start : in Cursor)
- return Set_Iterator_Interfaces.{Parallel_}Reversible_Iterator'Class;
-
Modify A.18.9(113.1/3):
function Iterate (Container : in Set; Start : in Cursor)
@@ -571,41 +478,19 @@
Modify A.18.9(113.2/3):
- Iterate returns a {parallel and} reversible iterator object (see 5.5.1)
+ Iterate returns {an}[a reversible] iterator object (see 5.5.1)
that will generate a value for a loop parameter (see 5.5.2)
designating each element in Container, starting with the first element
and moving the cursor according to the successor relation when used as
a forward iterator, and starting with the last element and moving the
cursor according to the predecessor relation when used as a reverse
- iterator {, and starting with all nodes concurrently when used as a
+ iterator {, and processing all nodes concurrently when used as a
parallel iterator}. Tampering with the cursors of Container is
prohibited while the iterator object exists (in particular, in the
sequence_of_statements of the loop_statement whose
iterator_specification denotes this object). The iterator object needs
finalization.
-Modify A.18.9(113.3/3):
-
-function Iterate (Container : in Set; Start : in Cursor)
- return Set_Iterator_Interfaces.{Parallel_}Reversible_Iterator'Class;
-
-Modify A.18.9(113.4/3):
-
- If Start is not No_Element and does not designate an item in
- Container, then Program_Error is propagated. If Start is No_Element,
- then Constraint_Error is propagated. Otherwise, Iterate returns a
- {parallel and} reversible iterator object (see 5.5.1) that will generate a
- value for a loop parameter (see 5.5.2) designating each element in
- Container, starting with the element designated by Start and moving
- the cursor according to the successor relation when used as a forward
- iterator, or moving the cursor according to the predecessor relation
- when used as a reverse iterator {, or all nodes concurrently when used
- as a parallel iterator}. Tampering with the cursors of Container is
- prohibited while the iterator object exists (in particular, in the
- sequence_of_statements of the loop_statement whose
- iterator_specification denotes this object). The iterator object needs
- finalization.
-
Modify A.18.10(44/3):
function Iterate (Container : in Tree)
@@ -628,11 +513,11 @@
Modify A.18.10(157/4)
- Iterate returns a[n] {parallel} iterator object (see 5.5.1) that will
+ Iterate returns an iterator object (see 5.5.1) that will
generate a value for a loop parameter (see 5.5.2) designating each
element node in Container, starting from with the root node and
proceeding in a depth-first order {when used as a forward iterator,
- and starting with all nodes concurrently when used as a parallel
+ and processing all nodes concurrently when used as a parallel
iterator}. Tampering with the cursors of Container is prohibited while
the iterator object exists (in particular, in the
sequence_of_statements of the loop_statement whose
@@ -647,7 +532,7 @@
Modify A.18.10(159/3):
If Position equals No_Element, then Constraint_Error is propagated.
- Otherwise, Iterate_Subtree returns a[n] {parallel} iterator object
+ Otherwise, Iterate_Subtree returns an iterator object
(see 5.5.1) that will generate a value for a loop parameter (see
5.5.2) designating each element in the subtree rooted by the node
designated by Position, starting from with the node designated by
@@ -668,7 +553,7 @@
Modify A.18.10(219/3):
- Iterate_Children returns a {parallel and }reversible iterator object
+ Iterate_Children returns {an}[a reversible] iterator object
(see 5.5.1) that will generate a value for a loop parameter (see 5.5.2)
designating each child node of Parent. If Parent equals No_Element, then
Constraint_Error is propagated. If Parent does not designate a node in
@@ -677,7 +562,7 @@
node and moving the cursor as per the function Next_Sibling; when used as
a reverse iterator, the nodes are designated starting with the last child
node and moving the cursor as per the function Previous_Sibling{; when used
- as a parallel iterator, starting with all child nodes concurrently}.
+ as a parallel iterator, processing all child nodes concurrently}.
Tampering with the cursors of Container is prohibited while the iterator
object exists (in particular, in the sequence_of_statements of the
loop_statement whose iterator_specification denotes this object). The
@@ -966,7 +851,7 @@
Max_Chunks parameter, specifying the upper bound for the number of loop
parameter objects (and the number of logical threads of control) to be
associated with the iterator. In the absence of a @fa<chunk_specification>,
-the maximum number of chunks is determined in an implementation defined
+the maximum number of chunks is determined in an implementation-defined
manner.
Upon return from Split_Into_Chunks, the actual number of chunks for
@@ -1129,15 +1014,6 @@
@xcode< @b<function> Iterate (Container : @b<in> Vector)
@b<return> Vector_Iterator_Interfaces.Parallel_Reversible_Iterator'Class;>
-!corrigendum A.18.2(74.2/3)
-
-@drepl
-@xcode< @b<function> Iterate (Container : @b<in> Vector; Start : @b<in> Cursor)
- @b<return> Vector_Iterator_Interfaces.Reversible_Iterator'Class;>
-@dby
-@xcode< @b<function> Iterate (Container : @b<in> Vector; Start : @b<in> Cursor)
- @b<return> Vector_Iterator_Interfaces.Parallel_Reversible_Iterator'Class;>
-
!corrigendum A.18.2(230.1/3)
@drepl
@@ -1161,53 +1037,18 @@
whose @fa<iterator_specification> denotes this object). The iterator object
needs finalization.>
@dby
-@xindent<Iterate returns a parallel and reversible iterator object (see 5.5.1)
+@xindent<Iterate returns an iterator object (see 5.5.1)
that will generate a value for a loop parameter (see 5.5.2) designating each
node in Container, starting with
the first node and moving the cursor as per the Next function when
used as a forward iterator, and starting with the last node and moving
-the cursor as per the Previous function when used as a reverse iterator, and starting
-with all nodes concurrently when used as a parallel iterator.
+the cursor as per the Previous function when used as a reverse iterator, and processing
+all nodes concurrently when used as a parallel iterator.
Tampering with the cursors of Container is prohibited while the iterator object
exists (in particular, in the @fa<sequence_of_statements> of the @fa<loop_statement>
whose @fa<iterator_specification> denotes this object). The iterator object
needs finalization.>
-!corrigendum A.18.2(230.3/3)
-
-@drepl
-@xcode<@b<function> Iterate (Container : @b<in> Vector; Start : @b<in> Cursor)
- @b<return> Vector_Iterator_Interfaces.Reversible_Iterator'Class;>
-@dby
-@xcode<@b<function> Iterate (Container : @b<in> Vector; Start : @b<in> Cursor)
- @b<return> Vector_Iterator_Interfaces.Parallel_Reversible_Iterator'Class;>
-
-!corrigendum A.18.2(230.4/3)
-
-@drepl
-@xindent<If Start is not No_Element and does not designate an item in Container, then
-Program_Error is propagated. If Start is No_Element, then Constraint_Error is propagated.
-Otherwise, Iterate returns a reversible iterator object (see 5.5.1) that will generate
-a value for a loop parameter (see 5.5.2) designating each node in Container, starting with the
-node designated by Start and moving the cursor as per the Next function
-when used as a forward iterator, or moving the cursor as per the Previous
-function when used as a reverse iterator. Tampering with the cursors of Container
-is prohibited while the iterator object exists (in particular, in the
-@fa<sequence_of_statements> of the @fa<loop_statement> whose @fa<iterator_specification>
-denotes this object). The iterator object needs finalization.>
-@dby
-@xindent<If Start is not No_Element and does not designate an item in Container, then
-Program_Error is propagated. If Start is No_Element, then Constraint_Error is propagated.
-Otherwise, Iterate returns a parallel and reversible iterator object (see 5.5.1) that
-will generate a value for a loop parameter (see 5.5.2) designating each node in Container,
-starting with the node designated by Start and moving the cursor as per the Next function
-when used as a forward iterator, or moving the cursor as per the Previous
-function when used as a reverse iterator, or all nodes concurrently when used as a
-parallel iterator. Tampering with the cursors of Container
-is prohibited while the iterator object exists (in particular, in the
-@fa<sequence_of_statements> of the @fa<loop_statement> whose @fa<iterator_specification>
-denotes this object). The iterator object needs finalization.>
-
!corrigendum A.18.3(46.1/3)
@drepl
@@ -1217,15 +1058,6 @@
@xcode< @b<function> Iterate (Container : @b<in> List)
@b<return> List_Iterator_Interfaces.Parallel_Reversible_Iterator'Class;>
-!corrigendum A.18.3(46.2/3)
-
-@drepl
-@xcode< @b<function> Iterate (Container : @b<in> List; Start : @b<in> Cursor)
- @b<return> List_Iterator_Interfaces.Reversible_Iterator'Class;>
-@dby
-@xcode< @b<function> Iterate (Container : @b<in> List; Start : @b<in> Cursor)
- @b<return> List_Iterator_Interfaces.Parallel_Reversible_Iterator'Class;>
-
!corrigendum A.18.3(144.1/3)
@drepl
@@ -1248,54 +1080,18 @@
whose @fa<iterator_specification> denotes this object). The iterator object
needs finalization.>
@dby
-@xindent<Iterate returns a parallel and reversible iterator object (see 5.5.1)
+@xindent<Iterate returns an iterator object (see 5.5.1)
that will generate a value for a loop parameter (see 5.5.2) designating each node
in Container, starting with
the first node and moving the cursor as per the Next function when
used as a forward iterator, and starting with the last node and moving
-the cursor as per the Previous function when used as a reverse iterator, and starting
-with all nodes concurrently when used as a parallel iterator.
+the cursor as per the Previous function when used as a reverse iterator, and
+processing all nodes concurrently when used as a parallel iterator.
Tampering with the cursors of Container is prohibited while the iterator object
exists (in particular, in the @fa<sequence_of_statements> of the @fa<loop_statement>
whose @fa<iterator_specification> denotes this object). The iterator object
needs finalization.>
-!corrigendum A.18.3(144.3/3)
-
-@drepl
-@xcode<@b<function> Iterate (Container : @b<in> List; Start : @b<in> Cursor)
- @b<return> List_Iterator_Interfaces.Reversible_Iterator'Class;>
-@dby
-@xcode<@b<function> Iterate (Container : @b<in> List; Start : @b<in> Cursor)
- @b<return> List_Iterator_Interfaces.Parallel_Reversible_Iterator'Class;>
-
-!corrigendum A.18.3(144.4/3)
-
-@drepl
-@xindent<If Start is not No_Element and does not designate an item in Container, then Program_Error
-is propagated. If Start is No_Element, then Constraint_Error is propagated.
-Otherwise, Iterate returns a reversible iterator object (see 5.5.1) that will generate
-a value for a loop parameter (see 5.5.2) designating each node in Container, starting with the
-node designated by Start and moving the cursor as per the Next function
-when used as a forward iterator, or moving the cursor as per the Previous
-function when used as a reverse iterator. Tampering with the cursors of Container
-is prohibited while the iterator object exists (in particular, in the
-@fa<sequence_of_statements> of the @fa<loop_statement> whose @fa<iterator_specification>
-denotes this object). The iterator object needs finalization.>
-@dby
-@xindent<If Start is not No_Element and does not designate an item in
-Container, then Program_Error is propagated. If Start is No_Element, then
-Constraint_Error is propagated. Otherwise, Iterate returns a parallel and
-reversible iterator object (see 5.5.1) that will generate
-a value for a loop parameter (see 5.5.2) designating each node in Container,
-starting with the node designated by Start and moving the cursor as per the
-Next function when used as a forward iterator, or moving the cursor as per
-the Previous function when used as a reverse iterator, or all nodes
-concurrently when used as a parallel iterator. Tampering with the cursors of
-Container is prohibited while the iterator object exists (in particular,
-in the @fa<sequence_of_statements> of the @fa<loop_statement> whose
-@fa<iterator_specification>
-denotes this object). The iterator object needs finalization.>
!corrigendum A.18.5(37.1/3)
@@ -1327,11 +1123,11 @@
whose @fa<iterator_specification> denotes this object). The iterator object
needs finalization.>
@dby
-@xindent<Iterate returns a parallel iterator object (see 5.5.1) that will generate a
+@xindent<Iterate returns an iterator object (see 5.5.1) that will generate a
value for a loop parameter (see 5.5.2) designating each node in Container,
starting with the first node and moving the cursor according to the successor
relation when used as a forward iterator,
-and starting with all nodes concurrently when used as a parallel iterator.
+and processing all nodes concurrently when used as a parallel iterator.
Tampering with the cursors of Container is prohibited while the iterator object
exists (in particular, in the @fa<sequence_of_statements> of the @fa<loop_statement>
whose @fa<iterator_specification> denotes this object). The iterator object
@@ -1346,15 +1142,6 @@
@xcode< @b<function> Iterate (Container : @b<in> Map)
@b<return> Map_Iterator_Interfaces.Parallel_Reversible_Iterator'Class;>
-!corrigendum A.18.6(51.2/3)
-
-@drepl
-@xcode< @b<function> Iterate (Container : @b<in> Map; Start : @b<in> Cursor)
- @b<return> Map_Iterator_Interfaces.Reversible_Iterator'Class;>
-@dby
-@xcode< @b<function> Iterate (Container : @b<in> Map; Start : @b<in> Cursor)
- @b<return> Map_Iterator_Interfaces.Parallel_Reversible_Iterator'Class;>
-
!corrigendum A.18.6(94.1/3)
@drepl
@@ -1377,13 +1164,13 @@
whose @fa<iterator_specification> denotes this object). The iterator object
needs finalization.>
@dby
-@xindent<Iterate returns a parallel and reversible iterator object (see 5.5.1)
+@xindent<Iterate returns an iterator object (see 5.5.1)
that will generate a value for a loop parameter (see 5.5.2) designating each
node in Container, starting with
the first node and moving the cursor according to the successor relation when
used as a forward iterator, and starting with the last node and moving
the cursor according to the predecessor relation when used as a reverse
-iterator, and starting with all nodes concurrently when used as a parallel
+iterator, and processing all nodes concurrently when used as a parallel
iterator. Tampering with the cursors of Container is prohibited while the
iterator object
exists (in particular, in the @fa<sequence_of_statements> of the @fa<loop_statement>
@@ -1391,44 +1178,6 @@
needs finalization.>
-!corrigendum A.18.6(94.3/3)
-
-@drepl
-@xcode<@b<function> Iterate (Container : @b<in> Map; Start : @b<in> Cursor)
- @b<return> Map_Iterator_Interfaces.Reversible_Iterator'Class;>
-@dby
-@xcode<@b<function> Iterate (Container : @b<in> Map; Start : @b<in> Cursor)
- @b<return> Map_Iterator_Interfaces.Parallel_Reversible_Iterator'Class;>
-
-!corrigendum A.18.6(94.4/3)
-
-@drepl
-@xindent<If Start is not No_Element and does not designate an item in Container,
-then Program_Error is propagated. If Start is No_Element, then Constraint_Error is
-propagated. Otherwise, Iterate returns a reversible iterator object (see 5.5.1) that will generate a
-value for a loop parameter (see 5.5.2) designating each node in Container, starting with
-the node designated by Start and moving the cursor according to the successor relation
-when used as a forward iterator, or moving
-the cursor according to the predecessor relation when used as a reverse iterator.
-Tampering with the cursors of Container is prohibited while the iterator object
-exists (in particular, in the @fa<sequence_of_statements> of the @fa<loop_statement>
-whose @fa<iterator_specification> denotes this object). The iterator object
-needs finalization.>
-@dby
-@xindent<If Start is not No_Element and does not designate an item in Container,
-then Program_Error is propagated. If Start is No_Element, then Constraint_Error is
-propagated. Otherwise, Iterate returns a parallel and reversible iterator object
-(see 5.5.1) that will generate a
-value for a loop parameter (see 5.5.2) designating each node in Container,
-starting with the node designated by Start and moving the cursor according to
-the successor relation when used as a forward iterator, or moving
-the cursor according to the predecessor relation when used as a reverse iterator,
-and starting with all nodes concurrently when used as a parallel iterator.
-Tampering with the cursors of Container is prohibited while the iterator object
-exists (in particular, in the @fa<sequence_of_statements> of the @fa<loop_statement>
-whose @fa<iterator_specification> denotes this object). The iterator object
-needs finalization.>
-
!corrigendum A.18.8(49.1/3)
@drepl
@@ -1447,7 +1196,7 @@
@xcode<@b<function> Iterate (Container : @b<in> Set)
@b<return> Set_Iterator_Interfaces.Parallel_Iterator'Class;>
-!corrigendum A.18.8(85.1/3)
+!corrigendum A.18.8(85.2/3)
@drepl
@xindent<Iterate returns an iterator object (see 5.5.1) that will generate a
@@ -1458,16 +1207,17 @@
whose @fa<iterator_specification> denotes this object). The iterator object
needs finalization.>
@dby
-@xindent<Iterate returns a parallel iterator object (see 5.5.1) that will
+@xindent<Iterate returns an iterator object (see 5.5.1) that will
generate a value for a loop parameter (see 5.5.2) designating each element
in Container, starting with the first element and moving the cursor according
-to the successor relation when used as a forward iterator, and starting with
+to the successor relation when used as a forward iterator, and processing
all nodes concurrently when used as a parallel iterator.
Tampering with the cursors of Container is prohibited while the iterator object
exists (in particular, in the @fa<sequence_of_statements> of the @fa<loop_statement>
whose @fa<iterator_specification> denotes this object). The iterator object
needs finalization.>
+
!corrigendum A.18.9(61.1/3)
@drepl
@@ -1477,15 +1227,6 @@
@xcode< @b<function> Iterate (Container : @b<in> Set)
@b<return> Set_Iterator_Interfaces.Parallel_Reversible_Iterator'Class;>
-!corrigendum A.18.9(61.2/3)
-
-@drepl
-@xcode< @b<function> Iterate (Container : @b<in> Set; Start : @b<in> Cursor)
- @b<return> Set_Iterator_Interfaces.Reversible_Iterator'Class;>
-@dby
-@xcode< @b<function> Iterate (Container : @b<in> Set; Start : @b<in> Cursor)
- @b<return> Set_Iterator_Interfaces.Parallel_Reversible_Iterator'Class;>
-
!corrigendum A.18.9(113.1/3)
@drepl
@@ -1508,56 +1249,17 @@
whose @fa<iterator_specification> denotes this object). The iterator object
needs finalization.>
@dby
-@xindent<Iterate returns a parallel and reversible iterator object (see 5.5.1) that will generate a
+@xindent<Iterate returns an iterator object (see 5.5.1) that will generate a
value for a loop parameter (see 5.5.2) designating each element in Container, starting with
the first element and moving the cursor according to the successor relation when
used as a forward iterator, and starting with the last element and moving
the cursor according to the predecessor relation when used as a reverse iterator, and
-starting with all nodes concurrently when used as a parallel iterator.
+processing all nodes concurrently when used as a parallel iterator.
Tampering with the cursors of Container is prohibited while the iterator object
exists (in particular, in the @fa<sequence_of_statements> of the @fa<loop_statement>
whose @fa<iterator_specification> denotes this object). The iterator object
needs finalization.>
-!corrigendum A.18.9(113.3/3)
-
-@drepl
-@xcode<@b<function> Iterate (Container : @b<in> Set; Start : @b<in> Cursor)
- @b<return> Set_Iterator_Interfaces.Reversible_Iterator'Class;>
-@dby
-@xcode<@b<function> Iterate (Container : @b<in> Set; Start : @b<in> Cursor)
- @b<return> Set_Iterator_Interfaces.Parallel_Reversible_Iterator'Class;>
-
-!corrigendum A.18.9(113.4/3)
-
-@drepl
-@xindent<If Start is not No_Element and does
-not designate an item in Container, then Program_Error is propagated. If Start
-is No_Element, then Constraint_Error is propagated. Otherwise, Iterate returns
-a reversible iterator object (see 5.5.1) that will generate a value for a loop
-parameter (see 5.5.2) designating
-each element in Container, starting with the element designated by Start and
-moving the cursor according to the successor relation when used as a forward
-iterator, or moving the cursor according to the predecessor relation when used
-as a reverse iterator. Tampering with the cursors of Container is prohibited while
-the iterator object exists (in particular, in the @fa<sequence_of_statements> of
-the @fa<loop_statement> whose @fa<iterator_specification> denotes this object).
-The iterator object needs finalization.>
-@dby
-@xindent<If Start is not No_Element and does
-not designate an item in Container, then Program_Error is propagated. If Start
-is No_Element, then Constraint_Error is propagated. Otherwise, Iterate returns
-a parallel and reversible iterator object (see 5.5.1) that will generate a
-value for a loop parameter (see 5.5.2) designating
-each element in Container, starting with the element designated by Start and
-moving the cursor according to the successor relation when used as a forward
-iterator, or moving the cursor according to the predecessor relation when used
-as a reverse iterator, or all nodes concurrently when used as a
-parallel iterator. Tampering with the cursors of Container is prohibited while
-the iterator object exists (in particular, in the @fa<sequence_of_statements> of
-the @fa<loop_statement> whose @fa<iterator_specification> denotes this object).
-The iterator object needs finalization.>
-
!corrigendum A.18.10(44/3)
@@ -1605,10 +1307,10 @@
the @fa<loop_statement> whose @fa<iterator_specification> denotes this object).
The iterator object needs finalization.>
@dby
-@xindent<Iterate returns a parallel iterator object (see 5.5.1) that will
+@xindent<Iterate returns an iterator object (see 5.5.1) that will
generate a value for a loop parameter (see 5.5.2) designating each element in
Container, starting from the root node and proceeding in a depth-first order
-when used as a forward iterator, and starting with all nodes concurrently when
+when used as a forward iterator, and processing all nodes concurrently when
used as a parallel iterator. Tampering with the cursors of Container is
prohibited while the iterator object exists (in particular, in the
@fa<sequence_of_statements> of the @fa<loop_statement> whose
@@ -1639,12 +1341,12 @@
object needs finalization.>
@dby
@xindent<If Position equals No_Element, then Constraint_Error is propagated.
-Otherwise, Iterate_Subtree returns a parallel iterator object (see 5.5.1) that
+Otherwise, Iterate_Subtree returns an iterator object (see 5.5.1) that
will generate a value for a loop parameter (see 5.5.2) designating each element
in the subtree rooted by the node designated by Position, starting from the
node designated by Position and
-proceeding in a depth-first order when used as a forward iterator, and starting
-with all nodes in the subtree concurrently when used as a parallel iterator.
+proceeding in a depth-first order when used as a forward iterator, and processing
+all nodes in the subtree concurrently when used as a parallel iterator.
If Position equals No_Element, then Constraint_Error is
propagated. Tampering with the cursors of the container that contains the
node designated by Position is prohibited while the iterator object
@@ -1677,10 +1379,9 @@
@fa<iterator_specification> denotes this object).
The iterator object needs finalization.>
@dby
-@xindent<Iterate_Children returns a parallel and reversible iterator object
-(see 5.5.1) that will generate a
-value for a loop parameter (see 5.5.2) designating each child node of Parent.
-If Parent equals
+@xindent<Iterate_Children returns an iterator object (see 5.5.1) that will
+generate a value for a loop parameter (see 5.5.2) designating each child node
+of Parent. If Parent equals
No_Element, then Constraint_Error is propagated. If Parent does not designate a
node in Container, then Program_Error is propagated. Otherwise, when used as
a forward iterator,
@@ -1688,7 +1389,7 @@
moving the cursor as per the function Next_Sibling; when used as a reverse
iterator, the nodes are designated starting with the last child node and
moving the cursor as per the function Previous_Sibling; when used
-as a parallel iterator, starting with all child nodes concurrently. Tampering
+as a parallel iterator, processing all child nodes concurrently. Tampering
with the cursors of
Container is prohibited while the iterator object exists (in particular,
in the @fa<sequence_of_statements> of the @fa<loop_statement> whose
Questions? Ask the ACAA Technical Agent