CVS difference for ais/ai-20302.txt

Differences between 1.5 and version 1.6
Log of other versions for file ais/ai-20302.txt

--- ais/ai-20302.txt	2004/04/30 02:32:16	1.5
+++ ais/ai-20302.txt	2004/05/29 00:38:41	1.6
@@ -1,4 +1,4 @@
-!standard A.17                                       04-04-29  AI95-00302-03/03
+!standard A.17                                       04-05-13  AI95-00302-03/04
 !class amendment 04-01-14
 !status work item 04-01-14
 !status received 04-01-14
@@ -679,7 +679,7 @@
 
 AARM Note: This implies that the index is determinable from a bare cursor
 alone. The basic model is that a vector cursor is implemented as a record
-containing an access to the vector container and a index value. This does
+containing an access to the vector container and an index value. This does
 constrain implementations, but it also allows all of the cursor operations
 to be defined in terms of the corresponding index operation (which should be
 primary for a vector).
@@ -758,7 +758,7 @@
 this operation.
 
 AARM Note: Replace_Element, Generic_Update, and Generic_Update_by_Index are
-only ways that an element can change from empty to non-empty.
+the only ways that an element can change from empty to non-empty.
 
 
 procedure Assign (Target : in out Vector;
@@ -768,7 +768,7 @@
 effect. Otherwise, Assign first calls Clear (Target), then Resize (Target,
 Length (Source)). It then assigns the active elements of Source to the
 corresponding positions in Target, and then sets the length of Target to
-the length of Source. Any exceptions raising during element assignment
+the length of Source. Any exceptions raised during element assignment
 are propagated.
 
 
@@ -1103,7 +1103,7 @@
 
 Returns True if Position designates an element, and returns False otherwise.
 
-AARM Note: To Be Honest: This function is may not detect cursors that
+AARM Note: To Be Honest: This function may not detect cursors that
 designate deleted elements; such cursors are invalid (see below) and any
 use of them (including in this routine) is erroneous.
 
@@ -1160,14 +1160,14 @@
 A Cursor value is *ambiguous* if any of the following have occurred since it
 was created:
   * Insert or Delete has been called on the vector that contains the element the
-    cursor designates with a index value (or a cursor designating an element at
+    cursor designates with an index value (or a cursor designating an element at
     such an index value) less than or equal to the index value of the element
     designated by the cursor;
   * The vector that contains the element it designates has been passed to an
     instance of Generic_Sort.
 
 It is a bounded error to call any subprogram other than "=" or Has_Element
-declared in Containers.Vectors with a ambiguous (but not invalid, see below)
+declared in Containers.Vectors with an ambiguous (but not invalid, see below)
 cursor parameter. Possible results are:
    * The cursor may be treated as if it was No_Element;
    * The cursor may designate some element in the vector (but not necessarily
@@ -1178,7 +1178,7 @@
 AARM Note: Cursors are made ambiguous if an Insert or Delete occurs that moves
 the elements in the internal array including the designated ones. After such an
 operation, the cursor probably still designates an element (although it might
-not after a deletion), but it is is a *different* element. That violates the
+not after a deletion), but it is a *different* element. That violates the
 definition of cursor -- it designates a particular element.
 
 For "=" or Has_Element, the cursor works normally (it would not be No_Element).
@@ -1205,7 +1205,7 @@
 if the cursor designates an element in a different vector object than the
 appropriate one specified in the call.
 
-AARM Notes: The list above (conbined with the bounded error cases) is intended
+AARM Notes: The list above (combined with the bounded error cases) is intended
 to be exhaustive. In other cases, a cursor value continues to designate its
 original element. For instance, cursor values survive the appending of new
 elements.
@@ -1226,7 +1226,7 @@
       with Count=1 of the vector should be O(N log N).
 
 AARM Note
-We do not mean to overly constrain implementation stratgies here. However, it
+We do not mean to overly constrain implementation strategies here. However, it
 is important for portability that the performance of large containers has
 roughly the same factors on different implementations. If a program is moved
 to an implementation that takes O(N) time to access elements, that program
@@ -1589,7 +1589,7 @@
 
 Reorders the nodes of Container such that the elements are
 sorted smallest first as determined by the generic formal "<" operator
-provided. The sort must be stable. Any exceptions raised during evalution of
+provided. The sort must be stable. Any exceptions raised during evaluation of
 "<" are propagated.
 
 AARM Notes
@@ -1729,7 +1729,7 @@
 generic formal Predicate function returns True. The search starts at
 the node designated by Position. If Position equals No_Element, then
 the search begins at the last node. If no element is found for which
-Predicate returns True, then Generic_Revserse_Find returns the value
+Predicate returns True, then Generic_Reverse_Find returns the value
 No_Element.
 
 function Next (Position : Cursor) return Cursor;
@@ -1752,7 +1752,7 @@
 
 Returns True if Position designates an element, and returns False otherwise.
 
-AARM Note: To Be Honest: This function is may not detect cursors that
+AARM Note: To Be Honest: This function may not detect cursors that
 designate deleted elements; such cursors are invalid (see below) and any
 use of them (including in this routine) is erroneous.
 
@@ -1809,7 +1809,7 @@
 O(log N).
 
 AARM Note
-We do not mean to overly constrain implementation stratgies here. However, it
+We do not mean to overly constrain implementation strategies here. However, it
 is important for portability that the performance of large containers has
 roughly the same factors on different implementations. If a program is moved to
 an implementation that takes O(N) time to access elements, that program could
@@ -1981,7 +1981,7 @@
 object to implement iteration; that could either be in the nodes, or
 in the cursor object. To provide an average O(1) access time, size would
 typically equal the number of buckets in such an implementation, so
-hat the average bucket linked list length would be no more than 1.0.
+that the average bucket linked list length would be no more than 1.0.
 
 There is no defined relationship between elements in a map. Typically,
 iteration will return elements in the order that they are hashed in.
@@ -2207,7 +2207,7 @@
 
 Returns True if Position designates an element, and returns False otherwise.
 
-AARM Note: To Be Honest: This function is may not detect cursors that
+AARM Note: To Be Honest: This function may not detect cursors that
 designate deleted elements; such cursors are invalid (see below) and any
 use of them (including in this routine) is erroneous.
 
@@ -2292,12 +2292,12 @@
 Insert, and Find should be O(log N).
 
 AARM Note
-We do not mean to overly constrain implementation stratgies here. However, it
+We do not mean to overly constrain implementation strategies here. However, it
 is important for portability that the performance of large containers has
 roughly the same factors on different implementations. If a program is moved to
 an implementation for which Find is O(N), that program could be unusable when
 the maps are large. We allow O(log N) access because the proportionality
-constant and caching *effects are likely to be larger than the log factor, and
+constant and caching effects are likely to be larger than the log factor, and
 we don't want to discourage innovative implementations.
 
 
@@ -2577,7 +2577,7 @@
 
 If the length of Target is greater than 0, then Move raises
 Constraint_Error. Otherwise, the elements are removed from Source and
-moved to Target. The length of Source is 0 after a sucessful call to Move.
+moved to Target. The length of Source is 0 after a successful call to Move.
 
 
 procedure Insert (Container : in out Set;
@@ -2880,7 +2880,7 @@
 AARM Note
 A balanced (red-black) tree for keys has O(log N) worst-case performance. Note
 that a O(N) worst-case implementation (like a list) would be wrong.
-We do not mean to overly constrain implementation stratgies here. However, it
+We do not mean to overly constrain implementation strategies here. However, it
 is important for portability that the performance of large containers has
 roughly the same factors on different implementations. If a program is moved
 to an implementation that takes O(N) to find elements, that program could
@@ -3023,7 +3023,7 @@
 
 Reorders the elements of Container such that the elements are
 sorted smallest first as determined by the generic formal less-than operator
-provided. Any exceptions raised during evalution of less-than are propagated.
+provided. Any exceptions raised during evaluation of less-than are propagated.
 
 AARM Notes
 This implies swapping the elements, usually including an intermediate copy.
@@ -3052,7 +3052,7 @@
 
 Reorders the elements of Container such that the elements are
 sorted smallest first as determined by the generic formal less-than operator
-provided. Any exceptions raised during evalution of less-than are propagated.
+provided. Any exceptions raised during evaluation of less-than are propagated.
 
 Implementation Advice
 
@@ -3126,7 +3126,7 @@
 of the internal array. It's more efficient to do it this way than
 inserting items one-at-a-time, because the sliding is done only once.
 For example, we can copy an array (or any other container) into a vector
-at some arbitary position like this:
+at some arbitrary position like this:
 
    procedure Copy
      (A : in     Array_Subtype;
@@ -3223,7 +3223,7 @@
 
 
 The First_Index and Last_Index selectors allow iteration over a vector
-analogous to iteration over an array, using the loop machinary provided
+analogous to iteration over an array, using the loop machinery provided
 by the language:
 
    procedure Op (V : in Vector) is
@@ -3361,12 +3361,12 @@
 All containers are non-limited, and hence allow ordinary assignment.  In
 the unique case of a vector, there is a separate assignment procedure:
 
-   Assert (Target => V1, Source => V2);
+   Assign (Target => V1, Source => V2);
 
 The reason is that the model for a vector is that it's implemented using
 an unconstrained array. During ordinary assignment, the internal array
 is deallocated (during controlled finalization), and then a new internal
-is allocated (during controlled adjustment) to store a copy of the
+array is allocated (during controlled adjustment) to store a copy of the
 elements from the source vector. However, assignment would probably be
 more efficient if it were able to hold on to the existing array, and
 simply copy the elements of the source onto that array, instead of
@@ -3707,7 +3707,7 @@
    with Ada.Strings.Hash_String;
 
    package Wordcount_Maps is
-      new Ada.Containers.Indefinited_Hashed_Maps
+      new Ada.Containers.Indefinite_Hashed_Maps
         (Key_Type     => String,
          Element_Type => Natural,
          Hash         => Ada.Strings.Hash_String); -- case-sensitive
@@ -4402,7 +4402,7 @@
 loop depends on the cursor being incremented, so we use the canonical
 form of Delete.)
 
-In other exmples, we have been silent about the operation of
+In other examples, we have been silent about the operation of
 Generate_Id, which makes a session id for us comprising a sequence of 8
 random characters. One of our requirements for a session id is that it
 must be unique among all the sessions currently being streamed by this
@@ -4889,7 +4889,7 @@
 
 However, the resources available for work on the standard preclude adding a
 large container library to the standard. If the library is too large, it will
-be insuffiently reviewed, and that has the danger of providing something
+be insufficiently reviewed, and that has the danger of providing something
 useless.
 
 Therefore, the committee settled on a limited set of goals:
@@ -5012,7 +5012,7 @@
 standard), and in any case, the hashing type should be modular.
 
 The string hash and comparison functions were moved to be part of the
-Ada.Strings heirarchy. It would be a bad idea to have the hash functions
+Ada.Strings hierarchy. It would be a bad idea to have the hash functions
 of all types gathered in one place (in the containers library).
 
 Unbounded string hash and comparison functions were added.
@@ -5060,7 +5060,7 @@
 implementation. It exposes that implementation in the interface, and as a
 result makes iteration operations harder. That seems like a bad choice for
 a simple abstraction; it's fine to suggest an implementation, but bad to
-make it part of the interface. We therefore simplied the interface and the
+make it part of the interface. We therefore simplified the interface and the
 description. (We consulted with the author of the proposal on this and other
 changes.)
 

Questions? Ask the ACAA Technical Agent