--- ai05s/ai05-0184-1.txt 2010/02/25 03:40:30 1.3 +++ ai05s/ai05-0184-1.txt 2010/08/12 02:20:22 1.4 @@ -1,10 +1,13 @@ -!standard A.18.17 (0) 10-02-24 AI05-0184-1/03 -!standard A.18.18 (0) -!standard A.18.19 (0) +!standard A.18.19 (0) 10-08-11 AI05-0184-1/04 !standard A.18.20 (0) !standard A.18.21 (0) !standard A.18.22 (0) +!standard A.18.23 (0) +!standard A.18.24 (0) +!standard A.18.25 (0) !class amendment 09-11-02 +!status Amendment 2012 10-08-11 +!status ARG Approved 8-0-0 10-06-20 !status work item 09-11-02 !status received 09-11-02 !priority Medium @@ -27,7 +30,7 @@ !wording -There are 6 places where we define the "Bounded" version of a container. For +There are 7 places where we define the "Bounded" version of a container. For example, A.18.17(1/3): @@ -37,18 +40,19 @@ with the difference that the maximum storage is bounded. Similar text exists for Bounded_Doubly_Linked_Lists, Bounded_Hashed_Maps, -Bounded_Ordered_Maps, Bounded_Hashed_Sets, and Bounded_Ordered_Sets. +Bounded_Ordered_Maps, Bounded_Hashed_Sets, Bounded_Ordered_Sets, and +Bounded_Multiway_Trees (see AI05-0136-1). -Add an "Implementation Requirements" section at each of these 6 points which +Add an "Implementation Requirements" section at each of these 7 points which follows the following template: For each instance of Containers.Vectors and each instance of Containers.Bounded_Vectors, if the two instances meet the following conditions - then the output generated by either instance's - Vector'Output or Vector'Write subprograms - shall be readable by the other instance's Vector'Input - or Vector'Read, respectively: + then the output generated by + the Vector'Output or Vector'Write subprograms of either instance + shall be readable by the Vector'Input + or Vector'Read of the other instance, respectively: - the Element_Type parameters of the two instances are statically matching subtypes of the same type (note that distinct elaborations of a type declaration result in @@ -62,7 +66,7 @@ The condition which mentions the Index_Type parameters is: - replaced by similar wording for Key_Type parameters for map containers; - - omitted for list and set containers (which have no extra parameters). + - omitted for list, set, and tree containers (which have no extra parameters). In that case, the "; and" of the formerly penultimate condition is replaced with a period. @@ -79,7 +83,7 @@ During discussions in Brest, the possibility was raised that there is some implementation issue in the Vector case having to do with "empty elements" (A.18.2(14/2)) and, for example, the Insert_Space procedure. Note that the list -of operations that result is bounded errors if an empty element is encountered +of operations that result in bounded errors if an empty element is encountered does not include any of the stream operations. An implementation might or might not choose to keep track of "emptiness" at runtime, but the streaming issues in either case seem to be the same for the bounded and unbounded versions (note @@ -108,8 +112,54 @@ (See discussion.) +!corrigendum A.18.19(0) + +@dinsc + +Force a conflict; real text found in the conflict file. + +!corrigendum A.18.20(0) + +@dinsc + +Force a conflict; real text found in the conflict file. + +!corrigendum A.18.21(0) + +@dinsc + +Force a conflict; real text found in the conflict file. + +!corrigendum A.18.22(0) + +@dinsc + +Force a conflict; real text found in the conflict file. + +!corrigendum A.18.23(0) + +@dinsc + +Force a conflict; real text found in the conflict file. + +!corrigendum A.18.24(0) + +@dinsc + +Force a conflict; real text found in the conflict file. + +!corrigendum A.18.25(0) + +@dinsc + +Force a conflict; real text found in the conflict file. + !ACATS test +Consider creating a C-Test that streams out an unbounded vector (list, map, set, tree) +and streams in a bounded vector (list, map, set, tree), verifying that the new +object has the same elements, order, etc. as the original. + !appendix From: Steve Baird @@ -424,7 +474,8 @@ From: Steve Baird Sent: Thursday, February 4, 2010 6:31 PM -With this change, do we also need to add an "(and vice versa)" in the immediately following text: +With this change, do we also need to add an "(and vice versa)" in the +immediately following text: if the two instances meet the following conditions then the output generated by I1.Vector'Output or I1.Vector'Write @@ -440,5 +491,12 @@ Vector'Output or Vector'Write subprograms shall be readable by the other instance's Vector'Input or I2'Vector'Read, respectively + +**************************************************************** + +[Editor's note: The proposed wording had possessive "instance's" +in two places. I reordered it to remove that, as John Barnes of the +UK will insist on removing it before approval anyway. Why wait +for a formal complaint?] ****************************************************************

Questions? Ask the ACAA Technical Agent