CVS difference for ais/ai-00441.txt

Differences between 1.1 and version 1.2
Log of other versions for file ais/ai-00441.txt

--- ais/ai-00441.txt	2005/10/25 05:17:09	1.1
+++ ais/ai-00441.txt	2005/10/31 05:18:45	1.2
@@ -7,6 +7,7 @@
 !standard 13.13.2  (30)
 !standard 13.13.2  (33)
 !standard 13.13.2  (60)
+!standard  3.09  (18)
 !class amendment 05-10-24
 !status Amendment 200Y 05-10-24
 !comment This AI is not yet approved, but is included in the Amendment.
@@ -73,6 +74,32 @@
 transition, by allowing users to write "not null" and have the code compile
 in both versions of the language.
 
+Note that Generic_Dispatching_Constructor is supposed to have a matching
+profile, so it is also changed.
+
+!corrigendum 3.9(18)
+
+@dinsa
+@xhang<@xterm<X'Tag>
+X'Tag denotes the tag of X. The value of this attribute is of type Tag.>
+@dinss
+The following language-defined generic function exists:
+
+@xcode<@b<generic>
+    @b<type> T (<@>) @b<is abstract tagged limited private>;
+    @b<type> Parameters (<@>) @b<is limited private>;
+    @b<with function> Constructor (Params : @b<not null access> Parameters)
+        @b<return> T @b<is abstract>;
+@b<function> Ada.Tags.Generic_Dispatching_Constructor
+   (The_Tag : Tag;
+    Params  : @b<not null access> Parameters) @b<return> T'Class;
+@b<pragma> Preelaborate(Generic_Dispatching_Constructor);
+@b<pragma> Convention(Intrinsic, Generic_Dispatching_Constructor);>
+
+Tags.Generic_Dispatching_Constructor
+provides a mechanism to create an object of an appropriate type from just a tag
+value. The function Constructor is expected to create the object given a
+reference to an object of type Parameters.
 
 !corrigendum 13.3(85)
 

Questions? Ask the ACAA Technical Agent