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

Differences between 1.17 and version 1.18
Log of other versions for file ai12s/ai12-0112-1.txt

--- ai12s/ai12-0112-1.txt	2019/04/09 02:01:29	1.17
+++ ai12s/ai12-0112-1.txt	2019/04/12 06:09:23	1.18
@@ -960,7 +960,8 @@
                 (if Position = No_Element then raise Constraint_Error) and then
                 (if not Has_Element (Container, Position)
                  then raise Program_Error),
-        Post => Length (Container)'Old - Count <= Length (Container);
+        Post => Length (Container)'Old - Count <= Length (Container) and then
+                Position = No_Element;
 184/2
 Delete (Container, To_Index (Position), Count) is called, and then
 Position is set to No_Element.
@@ -1952,6 +1953,89 @@
    @b<pragma> Preelaborable_Initialization(Vector);>
 @dby
 See the conflict file!!
+
+!corrigendum A.18.2(47/2)
+
+@dinsa
+@xcode<   @b<procedure> Append (Container : @b<in out> Vector;
+                     New_Item  : @b<in>     Element_Type;
+                     Count     : @b<in>     Count_Type := 1);>
+@dinst
+@xcode<   @b<procedure> Append_One (Container : @b<in out> Vector;
+                         New_Item  : @b<in>     Element_Type)
+      @b<with> Pre  =@> (@b<if> Tampering_With_Cursors_Prohibited (Container)
+                    @b<then raise> Program_Error) @b<and then>
+                   (@b<if> Length (Container) @> Maximum_Length - 1
+                    @b<then raise> Constraint_Error),
+           Post =@> Length (Container)'Old + 1 = Length (Container) @b<and then>
+                   Capacity (Container) @>= Length (Container);>
+
+!corrigendum A.18.2(125/2)
+
+@drepl
+@xindent<If Index is not in the range First_Index (Container) .. Last_Index
+(Container), then No_Element is returned. Otherwise, a cursor designating the
+element at position Index in Container is returned.>
+@dby
+@xindent<Returns a cursor designating the
+element at position Index in Container; 
+returns No_Element if Index does not designate an element. For the purposes of
+determining whether the parameters overlap in a call to To_Cursor, the
+Container parameter is not considered to overlap with any object (including
+itself).>
+
+!corrigendum A.18.2(133/3)
+
+@drepl
+@xindent<If Index is not in the range First_Index (Container) .. Last_Index (Container),
+then Constraint_Error is propagated. Otherwise, Replace_Element assigns the
+value New_Item to the element at position Index. Any exception raised during
+the assignment is propagated. The element at position Index is not an empty
+element after successful call to Replace_Element.>
+
+@dby
+@xindent<Replace_Element assigns the
+value New_Item to the element at position Index. Any exception raised during
+the assignment is propagated. The element at position Index is not an empty
+element after successful call to Replace_Element. For the purposes of
+determining whether the parameters overlap in a call to Replace_Element, the
+Container parameter is not considered to overlap with any object (including
+itself), and the Index parameter is considered to overlap with the element at
+position Index.>
+
+!corrigendum A.18.2(135/3)
+
+@drepl
+@xindent<If Position equals No_Element, then Constraint_Error is propagated;
+if Position does not designate an element in Container, then Program_Error is
+propagated. Otherwise, Replace_Element assigns New_Item to the element
+designated by Position. Any exception raised during the assignment is
+propagated. The element at Position is not an empty element after successful
+call to Replace_Element.>
+@dby
+@xindent<Replace_Element assigns New_Item to the element
+designated by Position. Any exception raised during the assignment is
+propagated. The element at Position is not an empty element after successful
+call to Replace_Element. For the purposes of determining whether the parameters
+overlap in a call to Replace_Element, the Container parameter is not considered
+to overlap with any object (including itself).>
+
+!corrigendum A.18.2(175/2)
+
+@dinsa
+@xindent<Equivalent to Insert (Container, Last_Index (Container) + 1, New_Item, Count).>
+@dinss
+@xcode<@b<procedure> Append_One (Container : @b<in out> Vector;
+                      New_Item  : @b<in>     Element_Type)
+   @b<with> Pre  =@> (@b<if> Tampering_With_Cursors_Prohibited (Container)
+                 @b<then raise> Program_Error) @b<and then>
+                (@b<if> Length (Container) @> Maximum_Length - 1
+                 @b<then raise> Constraint_Error),
+        Post =@> Length (Container)'Old + 1 = Length (Container) @b<and then>
+                Capacity (Container) @>= Length (Container);>
+
+@xindent<Equivalent to Insert (Container, Last_Index (Container) + 1, New_Item, 1).>
+
 
 
 !corrigendum A.18.3(6/3)

Questions? Ask the ACAA Technical Agent