Version 1.4 of ai12s/ai12-0078-1.txt
!standard A.18.10(2/3) 13-06-14 AI12-0078-1/01
!standard A.18.10(3/3)
!class binding interpretation 13-06-14
!status Corrigendum 2014 13-06-28
!status WG9 Approved 13-11-15
!status ARG Approved 9-0-0 13-06-15
!status work item 13-06-14
!status received 13-06-14
!priority Low
!difficulty Easy
!qualifier Omission
!subject Definition of node for tree container is confusing
!summary
The root node of a tree does not have an element.
!question
The introduction to the Tree container the definition of "node" is quite
confusing, as it starts by saying that each node contains an element, but
in fact the root node does not. Should this be clarified? (Yes.)
!recommendation
(See !summary.)
!wording
Modify A.18.10(2/3):
A multiway tree container object manages a tree of [internal] nodes,
{comprising of a root node, and a set of internal nodes} each of which
contains an element and pointers to the parent, first child, last child, next
(successor) sibling, and previous (predecessor) sibling internal nodes. A
cursor designates a particular node within a tree (and by extension the
element contained in that node, if any). A cursor keeps designating the
same node (and element) as long as the node is part of the container, even
if the node is moved within the container.
Modify A.18.10(3/3):
A subtree is a particular node (which roots the subtree) and all of its child
nodes (including all of the children of the child nodes, recursively). [There
is a special node, the root, which] {The root node} is always present and
has neither an associated element value nor any parent node{; it has pointers
to its first child and its last child, if any}. The root node provides a place
to add nodes to an otherwise empty tree and represents the base of the tree.
!discussion
!corrigendum A.18.10(2/3)
Replace the paragraph:
A multiway tree container object manages a tree of internal nodes, each of which
contains an element and pointers to the parent, first child, last child, next
(successor) sibling, and previous (predecessor) sibling internal nodes. A cursor
designates a particular node within a tree (and by extension the element
contained in that node, if any). A cursor keeps designating the same node (and element)
as long as the node is part of the container, even if the node is moved within the
container.
by:
A multiway tree container object manages a tree of nodes, comprising of a
root node, and a set of internal nodes each of which
contains an element and pointers to the parent, first child, last child, next
(successor) sibling, and previous (predecessor) sibling internal nodes. A cursor
designates a particular node within a tree (and by extension the element
contained in that node, if any). A cursor keeps designating the same node (and element)
as long as the node is part of the container, even if the node is moved within the
container.
!corrigendum A.18.10(3/3)
Replace the paragraph:
A subtree is a particular node (which roots the subtree) and all of its child
nodes (including all of the children of the child nodes, recursively). There is
a special node, the root, which is always present and has neither an associated element
value nor any parent node. The root node provides a place to add nodes to an otherwise
empty tree and represents the base of the tree.
by:
A subtree is a particular node (which roots the subtree) and all of its child
nodes (including all of the children of the child nodes, recursively). The root node is
always present and has neither an associated element value nor any parent node; it has
pointers to its first child and its last child, if any. The root node provides a place
to add nodes to an otherwise empty tree and represents the base of the tree.
!ACATS Test
No ACATS test is needed, as this is just a definitional change (no semantic
change is intended).
!ASIS
No ASIS effect.
!appendix
From: Tucker Taft
Sent: Friday, June 14, 2013 11:33 AM
!problem
The introduction to the Tree container the definition of "node" is quite
confusing, as it starts by saying that each node contains an element, but
in fact the root node does not.
!wording
Modify paragraphs A.18.10(2,3):
2/3
A multiway tree container object manages a tree of {*nodes*, comprising a
*root* *node*, and a set of *internal*} [internal] *nodes* each of which
contains an element and pointers to the parent, first child, last child, next
(successor) sibling, and previous (predecessor) sibling internal nodes. A
cursor designates a particular node within a tree (and by extension the
element contained in that node, if any). A cursor keeps designating the
same node (and element) as long as the node is part of the container, even
if the node is moved within the container.
3/3
A subtree is a particular node (which roots the subtree) and all of its child
nodes (including all of the children of the child nodes, recursively). [There
is a special node, the root, which] {The root node is always present and
has neither an associated element value nor any parent node{; it has pointers
to its first child and its last child, if any}. The root node provides a place
to add nodes to an otherwise empty tree and represents the base of the tree.
****************************************************************
From: Jeff Cousins
Sent: Friday, June 14, 2013 3:10 PM
Thanks Tuck. The first paragraph looks fine to me but the second is missing a
} after "root node" and presumably the italics should be kept.
****************************************************************
Questions? Ask the ACAA Technical Agent