CVS difference for ai05s/ai05-0001-1.txt

Differences between 1.11 and version 1.12
Log of other versions for file ai05s/ai05-0001-1.txt

--- ai05s/ai05-0001-1.txt	2009/10/15 04:20:16	1.11
+++ ai05s/ai05-0001-1.txt	2009/10/16 00:19:21	1.12
@@ -1,4 +1,4 @@
-!standard A.4.9(8/2)                                 09-10-14    AI05-0001-1/08
+!standard A.4.9(8/2)                                 09-10-15    AI05-0001-1/09
 !standard A.4.9(11/2)
 !standard A.4.10(0)
 !standard A.18(4/2)
@@ -70,15 +70,20 @@
 
 A.4.9 String Hashing
 
-Modify A.4.9(8/2) and A.4.9(11/2):
+Modify A.4.9(8/2):
 
-[Strings.Bounded.Hash is equivalent to the function call]
+[Strings.Bounded.Hash is equivalent to the function call]{Equivalent to}
 Strings.Hash (Bounded.To_String (Key));
 
-[Editor's note: This makes the style consistent with A.18.2(186/2) and many
-other paragraphs. In any case, a function cannot be equivalent to a call, so
-the current wording is misleading.]
+[Editor's note: This makes the style consistent with A.4.3(84), A.18.2(186/2),
+and many other paragraphs. In any case, a function cannot be equivalent to a
+call of a function, so the current wording is misleading.]
 
+Modify A.4.9(11/2):
+
+[Strings.Unbounded.Hash is equivalent to the function call]{Equivalent to}
+Strings.Hash (To_String (Key));
+
 Add the following declarations after A.4.9(11/2):
 
 The library function Strings.Hash_Case_Insensitive has the following
@@ -146,7 +151,7 @@
 
 with Ada.Containers, Ada.Strings.Equal_Case_Insensitive;
 function Ada.Strings.Fixed.Equal_Case_Insensitive
-   (Left, Right : Bounded.Bounded_String) return Boolean
+   (Left, Right : String) return Boolean
    renames Ada.Strings.Equal_Case_Insensitive;
 pragma Pure(Equal_Case_Insensitive);
 
@@ -343,7 +348,7 @@
 The description of Move in A.18.3(88/2) is replaced with:
 
 If Target denotes the same object as Source, then Move has no effect. Otherwise,
-equivalent to Target.Assign (Source) followed by Source.Clear.
+equivalent to Assign (Target, Source) followed by Clear (Source).
 
 
 A.18.4 Maps
@@ -368,7 +373,7 @@
 The description of Move in A.18.4(43/2) is replaced with:
 
 If Target denotes the same object as Source, then Move has no effect. Otherwise,
-equivalent to Target.Assign (Source) followed by Source.Clear.
+equivalent to Assign (Target, Source) followed by Clear (Source).
 
 
 
@@ -433,7 +438,7 @@
 The description of Move in A.18.7(38/2) is replaced with:
 
 If Target denotes the same object as Source, then Move has no effect. Otherwise,
-equivalent to Target.Assign (Source) followed by Source.Clear.
+equivalent to Assign (Target, Source) followed by Clear (Source).
 
 
 A.18.8 Containers.Hashed_Sets
@@ -921,10 +926,11 @@
 bounded forms are easier to understand and are obviously portable.
 
 The Assign and Copy subprograms are needed for the bounded forms in order that
-containers with different bounds can be assigned or copied. The built-in assignment
-would raise Constraint_Error if the bounds are different. In order to keep the
-unbounded and bounded forms as similar as possible, these subprograms were added
-to all of the containers.
+containers with different capacities can be assigned or copied. The built-in assignment
+would raise Constraint_Error if the capacities were different. In order to keep the
+unbounded and bounded forms as similar as possible (to allow almost painless
+switching between forms), these subprograms were added to all of the existing
+containers.
 
 ---
 
@@ -952,9 +958,9 @@
 
 @drepl
 @xindent<Strings.Bounded.Hash is equivalent to the function call
-Strings.Hash (To_String (Key));>
+Strings.Hash (Bounded.To_String (Key));>
 @dby
-@xindent<Equivalent to Strings.Hash (To_String (Key));>
+@xindent<Equivalent to Strings.Hash (Bounded.To_String (Key));>
 
 !corrigendum A.4.9(11/2)
 
@@ -1274,7 +1280,7 @@
 Source is set to 0.>
 @dby
 @xindent<If Target denotes the same object as Source, then Move has no effect. Otherwise,
-equivalent to Target.Assign (Source) followed by Source.Clear.>
+equivalent to Assign (Target, Source) followed by Clear (Source).>
 
 !corrigendum A.18.4(10/2)
 
@@ -1312,7 +1318,7 @@
 Target. The length of Source is 0 after a successful call to Move.>
 @dby
 @xindent<If Target denotes the same object as Source, then Move has no effect. Otherwise,
-equivalent to Target.Assign (Source) followed by Source.Clear.>
+equivalent to Assign (Target, Source) followed by Clear (Source).>
 
 !corrigendum A.18.5(17/2)
 
@@ -1417,7 +1423,7 @@
 and inserted into Target. The length of Source is 0 after a successful call to Move.>
 @dby
 @xindent<If Target denotes the same object as Source, then Move has no effect. Otherwise,
-equivalent to Target.Assign (Source) followed by Source.Clear.>
+equivalent to Assign (Target, Source) followed by Clear (Source).>
 
 !corrigendum A.18.8(17/2)
 
@@ -1514,7 +1520,7 @@
 
 @xbullet<The description of Reserve_Capacity is replaced with:>
 
-@xindent<If the specified Capacity is larger than the capcaity of Container,
+@xindent<If the specified Capacity is larger than the capacity of Container,
 then Reserve_Capacity propagates Capacity_Error. Otherwise, the operation has no effect.>
 
 @s8<@i<Implementation Advice>>
@@ -1558,7 +1564,7 @@
 @xbullet<In procedure Assign, if Source length is greater than Target
 capacity, then Capacity_Error is propagated.>
 
-@xbullet<The function Copy is declared as follows:>
+@xbullet<The function Copy is replaced with:>
 
 @xcode<     @b<function> Copy (Source : List; Capacity : Count_Type := 0)
         @b<return> List;>
@@ -1633,7 +1639,7 @@
 @xindent<Returns a map with key/element pairs initialized from the values
 in Source. If Capacity is 0, then the map capacity is the
 length of Source; if Capacity is equal to or greater than
-the legnth of Source, the map capacity is the value of the Capacity
+the length of Source, the map capacity is the value of the Capacity
 parameter; otherwise, the operation propagates Capacity_Error.  If
 the Modulus argument is 0, then the map modulus is the value
 returned by a call to Default_Modulus with the map capacity as
@@ -1842,7 +1848,7 @@
 @dinss
 The generic library procedure Containers.Generic_Sort has the following declaration: 
 
-@xcode<@<generic>
+@xcode<@b<generic>
    @b<type> Index_Type is (<@>);
    @b<with function> Before (Left, Right : Index_Type) @b<return> Boolean;
    @b<with procedure> Swap (Left, Right : Index_Type);

Questions? Ask the ACAA Technical Agent