CVS difference for ai12s/ai12-0304-1.txt
--- ai12s/ai12-0304-1.txt 2019/04/12 04:49:12 1.3
+++ ai12s/ai12-0304-1.txt 2019/05/10 02:47:49 1.4
@@ -1,5 +1,9 @@
-!standard 4.10(0) 19-04-09 AI12-0304-1/02
+!standard 4.10(0) 19-05-09 AI12-0304-1/03
!class Amendment 19-01-11
+!status Amendment 1-2012 19-05-09
+!status ARG Approved 11-0-0 19-05-09
+!status work item 19-04-11
+!status ARG Approved 10-0-0 19-04-09
!status work item 19-01-11
!status received 19-01-10
@@ -28,7 +32,7 @@
For each language-defined nonscalar type T, T'Put_Image
may be specified.
- AARM note: This permission applies, in particular, to
+ AARM Note: This permission applies, in particular, to
nonscalar types declared in language-defined generic packages,
and to any language-defined private type, even if an implementation
chooses to complete it as a scalar type.
@@ -36,17 +40,17 @@
AARM Note: For any language-defined scalar type T, T'Put_Image should
not be specified; the Image attribute needs to return the language-defined
image for such types. This is important for compatibility: the Image
- attribute have been available for scalar types for many Ada revisions,
+ attribute has been available for scalar types for many Ada revisions,
and programs can (and do!) depend on its behavior.
- Implementation Advice
+ Implementation Requirements
For each language-defined container type T (that is, each of the Vector,
List, Map, Set, Tree, and Holder types defined in the various
- children of Ada.Containers), T'Put_Image should be specified so
+ children of Ada.Containers), T'Put_Image shall be specified so
that T'Image produces a result consistent with array aggregate
syntax (using "[" and "]" as delimiters) as follows:
- - Vector images should be consistent with the default image of
+ - Vector images shall be consistent with the default image of
an array type with the same index and component types.
AARM Note: In particular, this means that the format is that
@@ -55,7 +59,7 @@
may wish to display them specially, but otherwise, they're just
- - Map images should be consistent with named array aggregate
+ - Map images shall be consistent with named array aggregate
syntax, using key value images in place of discrete choice
names. For example, "[Key1 => Value1, Key2 => Value2]".
@@ -67,7 +71,7 @@
(that is, generating "Key1 | Key2 => Some_Value" instead of
"Key1 => Some_Value, Key2 => Some_Value").
- - Set, List, and Holder images should be consistent with
+ - Set, List, and Holder images shall be consistent with
positional array aggregate syntax. List elements should
occur in order within an image of a list. The image of an
empty holder should be "".
@@ -76,7 +80,7 @@
There is no recommendation about the order in which
set elements occur within the image of a set.
- - Tree images (and images of subtrees of trees) should be
+ - Tree images (and images of subtrees of trees) shall be
consistent with positional array aggregate syntax.
For example, "[[1, 2], [111, 222, 333]]".
@@ -85,12 +89,12 @@
that of T'Image (for example, Ada.Numerics.Float_Random.State has such
an Image function), T'Put_Image should be specified so that T'Image
yields the same result as that Image function.
+ Implementation Advice
- AARM Note:
- For each language-defined private type T, implementations are
- encouraged to ensure that T'Image generates images that would be
- meaningful based only on the relevant public interfaces, as opposed
- to requiring knowledge of the implementation of the private type.
+ For each language-defined private type T, T'Image should generate an image
+ that would be meaningful based only on the relevant public interfaces, as
+ opposed to requiring knowledge of the implementation of the private type.
Questions? Ask the ACAA Technical Agent