CVS difference for ai12s/ai12-0391-1.txt

Differences between 1.1 and version 1.2
Log of other versions for file ai12s/ai12-0391-1.txt

--- ai12s/ai12-0391-1.txt	2020/09/02 06:08:19	1.1
+++ ai12s/ai12-0391-1.txt	2020/09/11 22:24:01	1.2
@@ -1,7 +1,10 @@
-!standard A.18.3(6/5)                                   20-08-31  AI12-0391-1/01
+!standard A.18.3(6/5)                                   20-09-10  AI12-0391-1/02
 !standard A.18.3(23/5)
+!standard A.18.3(50.2/5)
 !standard A.18.3(96/5)
 !class Amendment 20-08-31
+!status Amendment 1-2012 20-09-10
+!status ARG Approved 8-0-6  20-09-09
 !status work item 20-08-31
 !status received 20-06-16
 !priority Low
@@ -14,9 +17,9 @@
 
 !problem
 
-Ada.Containers.Doubly_Linked_Lists has in the Aggregate aspect,
-Add_Unnamed using the existing Append operation. However, the existing 
-Append operation includes a Count parameter which does not meet the 
+The Aggregate aspect for Ada.Containers.Doubly_Linked_Lists has 
+Add_Unnamed defined to be the  existing Append operation. However, the 
+existing Append operation includes a Count parameter which does not meet the 
 profile of the required operation. Fix this? (Yes.)
 
 !proposal
@@ -25,7 +28,7 @@
 
 !wording
 
-In A.18.3(6/5), replace "Append" with "Append_One".
+In A.18.3(6/5) and A.18.3(50.2/5), replace "Append" with "Append_One".
 
 Add after A.18.3(23/5):
 
@@ -54,6 +57,67 @@
 
 As in Vectors, this operation cannot be named Append, as any call to Append 
 without the Count parameter would be ambiguous if that was the case.
+
+!corrigendum A.18.3(6/5)
+
+@drepl
+@xcode<   @b<type> List @b<is tagged private>
+      @b<with> Constant_Indexing =@> Constant_Reference,
+           Variable_Indexing =@> Reference,
+           Default_Iterator  =@> Iterate,
+           Iterator_Element  =@> Element_Type,
+           Iterator_View     =@> Stable.List,
+           Aggregate         =@> (Empty       =@> Empty,
+                                 Add_Unnamed =@> Append),
+           Stable_Properties =@> (Length, 
+                                 Tampering_With_Cursors_Prohibited,
+                                 Tampering_With_Elements_Prohibited),
+           Default_Initial_Condition =@> 
+              Length (List) = 0 @b<and then>
+              (@b<not> Tampering_With_Cursors_Prohibited (List)) @b<and then>
+              (@b<not> Tampering_With_Elements_Prohibited (List));
+   @b<pragma> Preelaborable_Initialization(List);>
+@dby
+@xcode<   @b<type> List @b<is tagged private>
+      @b<with> Constant_Indexing =@> Constant_Reference,
+           Variable_Indexing =@> Reference,
+           Default_Iterator  =@> Iterate,
+           Iterator_Element  =@> Element_Type,
+           Iterator_View     =@> Stable.List,
+           Aggregate         =@> (Empty       =@> Empty,
+                                 Add_Unnamed =@> Append_One),
+           Stable_Properties =@> (Length, 
+                                 Tampering_With_Cursors_Prohibited,
+                                 Tampering_With_Elements_Prohibited),
+           Default_Initial_Condition =@> 
+              Length (List) = 0 @b<and then>
+              (@b<not> Tampering_With_Cursors_Prohibited (List)) @b<and then>
+              (@b<not> Tampering_With_Elements_Prohibited (List));
+   @b<pragma> Preelaborable_Initialization(List);>
+
+!corrigendum A.18.3(23/5)
+
+@dinsa
+@xcode<   @b<procedure> Append (Container : @b<in out> List;
+                     New_Item  : @b<in>     Element_Type;
+                     Count     : @b<in>     Count_Type := 1)
+      @b<with> Pre  =@> (@b<not> Tampering_With_Cursors_Prohibited (Container)
+                       @b<or else raise> Program_Error) @b<and then>
+                   (Length (Container) <= Count_Type'Last - Count
+                       @b<or else raise> Constraint_Error),
+           Post =@> Length (Container)'Old + Count = Length (Container);>
+@dinst
+@xcode<   @b<procedure> Append_One (Container : @b<in out> List;
+                         New_Item  : @b<in>     Element_Type)
+      @b<with> Pre  =@> (@b<not> Tampering_With_Cursors_Prohibited (Container)
+                       @b<or else raise> Program_Error) @b<and then>
+                   (Length (Container) <= Count_Type'Last - 1
+                       @b<or else raise> Constraint_Error),
+           Post =@> Length (Container)'Old + 1 = Length (Container);>
+
+!comment  A.18.3(50.2/5) not in corrigendum text.
+
+!comment  A.18.3(96/5) not in corrigendum text.
 
 !ASIS
 

Questions? Ask the ACAA Technical Agent