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

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

--- ai12s/ai12-0112-1.txt	2019/04/06 05:08:49	1.16
+++ ai12s/ai12-0112-1.txt	2019/04/09 02:01:29	1.17
@@ -342,13 +342,13 @@
                  else To_Cursor'Result = No_Element),
         Nonblocking, Global => null;
 125/2
-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. 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)].
+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)].
 
-126/2
+126/2+
 function To_Index (Position  : Cursor) return Extended_Index
    with Nonblocking, Global => in access Vector;
 
@@ -358,17 +358,21 @@
 its containing vector) of the element designated by Position is returned.
 
 New
-function To_Index (Container : Vector; Position  : Cursor) return Extended_Index
-   when Pre => (if Position /= No_Element and then
-                   not Has_Element (Container, Position)
-                   then raise Program_Error),
+function To_Index (Container : Vector;
+                   Position  : Cursor) return Extended_Index
+   with Pre  => (if Position /= No_Element and then
+                    not Has_Element (Container, Position)
+                 then raise Program_Error),
         Post => (if Position = No_Element then To_Index'Result = No_Index
                  else To_Index'Result in First_Index (Container) ..
                         Last_Index (Container)),
         Nonblocking, Global => null;
 New
-If Position is No_Element, No_Index is returned. Otherwise, the index (within
-its containing vector) of the element designated by Position is returned.
+Returns the index (within Container) of the element designated by Position;
+returns No_Index if Position 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)].
 
 128/2+
 function Element (Container : Vector;
@@ -390,13 +394,14 @@
 Element returns the element designated by Position.
 
 New
-function Element (Container : Vector; Position  : Cursor) return Element_Type
+function Element (Container : Vector;
+                  Position  : Cursor) return Element_Type
    with Pre => (if Position = No_Element then raise Constraint_Error) and then
                (if not Has_Element (Container, Position)
                 then raise Program_Error),
         Nonblocking, Global => Element_Type'Global;
 New
-Element returns the element designated by Position.
+Element returns the element designated by Position in Container.
 
 
 132/2+
@@ -443,7 +448,7 @@
         Global => Element_Type'Global;
 
 [Tampering ought to be indicated for the access procedure here, but we don't
-have a mechanism to do that. See the questions above.]
+have a mechanism to do that.]
 137/3+
 Query_Element calls Process.all with the element at position Index as the
 argument. Tampering with the elements of Container is prohibited during the
@@ -507,7 +512,7 @@
    Process   : not null access procedure (Element : in out Element_Type))
    with Pre  => (if Position = No_Element then raise Constraint_Error) and then
                 (if not Has_Element (Container, Position) then raise Program_Error);
-145/3
+145/3+
 Update_Element calls Process.all with the element designated by
 Position as the argument. Tampering with the elements of Container is prohibited
 during the execution of the call on Process.all. Any exception raised by
@@ -523,10 +528,10 @@
 type Constant_Reference_Type
       (Element : not null access constant Element_Type) is private
    with Implicit_Dereference => Element,
-        Global => (in access Vector, synchronized out access Vector),
+        Global => synchronized in out access Vector,
         Nonblocking => True,
         Default_Initial_Condition => (raise Program_Error);
-147.2/3
+147.2/3+
 type Reference_Type (Element : not null access Element_Type) is private
    with Implicit_Dereference => Element,
         Global => synchronized in out access Vector,

Questions? Ask the ACAA Technical Agent