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

Differences between 1.4 and version 1.5
Log of other versions for file ai12s/ai12-0111-1.txt

--- ai12s/ai12-0111-1.txt	2015/06/18 05:56:10	1.4
+++ ai12s/ai12-0111-1.txt	2015/10/13 21:59:56	1.5
@@ -1,4 +1,4 @@
-!standard A.18.2(97.1/3)                              14-05-15  AI05-0111-1/01
+!standard A.18.2(97.1/3)                              15-10-13  AI05-0111-1/02
 !class binding interpretation 14-05-15
 !status work item 14-05-15
 !status received 14-02-08
@@ -25,7 +25,18 @@
 
 !recommendation
 
-(See Summary.)
+We could eliminate the requirement for per-reference tampering checks by
+providing a mechanism to "lock" a container against tampering.  
+This could be used by the iterator expansion and elsewhere.  When such
+a lock is in force, we could provide a different mechanism for indexing
+which would fail, or not be available, if the iterator were not locked.
+Perhaps the notion of a Locked_Reference to the container as a whole
+could be used, which would be a separate type with cheaper indexing
+operations.
+
+This might also be a way to get read-only references which could be
+passed to multiple tasks. That is you would extract a read-only locked
+reference, and then pass it to multiple tasks.
 
 !wording
 
@@ -82,7 +93,8 @@
 
       Pkg.Process_Item (Pkg.Item_List.Reference(2).Element.all);
 
-In this case, tampering with elements is prohibited until the call Process_Item returns. This means that the call at [1] fails a tampering check.
+In this case, tampering with elements is prohibited until the call Process_Item
+returns. This means that the call at [1] fails a tampering check.
 
 This is important; if the Append call required an expansion of the vector, and
 the vectors' implementation uses a reallocation strategy (as in thes original

Questions? Ask the ACAA Technical Agent