OSDN Git Service

2005-03-08 Javier Miranda <miranda@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / a-swunau.ads
index dbecd4f..da8bfc0 100644 (file)
 package Ada.Strings.Wide_Unbounded.Aux is
 pragma Preelaborate (Aux);
 
-   function Get_Wide_String
-     (U : Unbounded_Wide_String) return Wide_String_Access;
+   procedure Get_Wide_String
+     (U : Unbounded_Wide_String;
+      S : out Wide_String_Access;
+      L : out Natural);
    pragma Inline (Get_Wide_String);
-   --  This function returns the internal string pointer used in the
-   --  representation of an unbounded string. There is no copy involved,
-   --  so the value obtained references the same string as the original
-   --  unbounded string. The characters of this string may not be modified
-   --  via the returned pointer, and are valid only as long as the original
-   --  unbounded string is not modified. Violating either of these two
-   --  rules results in erroneous execution.
+   --  This procedure returns the internal string pointer used in the
+   --  representation of an unbounded string as well as the actual current
+   --  length (which may be less than S.all'Length because in general there
+   --  can be extra space assigned). The characters of this string may be
+   --  not be modified via the returned pointer,  and are valid only as
+   --  long as the original unbounded string is not accessed or modified.
    --
-   --  This function is much more efficient than the use of To_Wide_String
+   --  This procedure is much more efficient than the use of To_Wide_String
    --  since it avoids the need to copy the string. The lower bound of the
-   --  referenced string returned by this call is always one.
+   --  referenced string returned by this call is always one, so the actual
+   --  string data is always accessible as S (1 .. L).
 
    procedure Set_Wide_String
      (UP : in out Unbounded_Wide_String;