]> gcc.gnu.org Git - gcc.git/blame - gcc/ada/a-stunau.ads
3psoccon.ads, [...]: Files added.
[gcc.git] / gcc / ada / a-stunau.ads
CommitLineData
d23b8f57
RK
1------------------------------------------------------------------------------
2-- --
fbf5a39b 3-- GNAT RUNTIME COMPONENTS --
d23b8f57
RK
4-- --
5-- A D A . S T R I N G S . U N B O U N D E D . A U X --
6-- --
7-- S p e c --
8-- --
fbf5a39b 9-- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
d23b8f57
RK
10-- --
11-- GNAT is free software; you can redistribute it and/or modify it under --
12-- terms of the GNU General Public License as published by the Free Soft- --
13-- ware Foundation; either version 2, or (at your option) any later ver- --
14-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
15-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
16-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
17-- for more details. You should have received a copy of the GNU General --
18-- Public License distributed with GNAT; see file COPYING. If not, write --
19-- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
20-- MA 02111-1307, USA. --
21-- --
22-- As a special exception, if other files instantiate generics from this --
23-- unit, or you link this unit with other files to produce an executable, --
24-- this unit does not by itself cause the resulting executable to be --
25-- covered by the GNU General Public License. This exception does not --
26-- however invalidate any other reasons why the executable file might be --
27-- covered by the GNU Public License. --
28-- --
29-- GNAT was originally developed by the GNAT team at New York University. --
71ff80dc 30-- Extensive contributions were provided by Ada Core Technologies Inc. --
d23b8f57
RK
31-- --
32------------------------------------------------------------------------------
33
34-- This child package of Ada.Strings.Unbounded provides some specialized
35-- access functions which are intended to allow more efficient use of the
36-- facilities of Ada.Strings.Unbounded, particularly by other layered
37-- utilities (such as GNAT.Patterns).
38
39package Ada.Strings.Unbounded.Aux is
40pragma Preelaborate (Aux);
41
fbf5a39b 42 function Get_String (U : Unbounded_String) return String_Access;
d23b8f57
RK
43 pragma Inline (Get_String);
44 -- This function returns the internal string pointer used in the
45 -- representation of an unbounded string. There is no copy involved,
46 -- so the value obtained references the same string as the original
47 -- unbounded string. The characters of this string may not be modified
48 -- via the returned pointer, and are valid only as long as the original
49 -- unbounded string is not modified. Violating either of these two
50 -- rules results in erroneous execution.
51 --
52 -- This function is much more efficient than the use of To_String
53 -- since it avoids the need to copy the string. The lower bound of the
54 -- referenced string returned by this call is always one.
55
56 procedure Set_String (UP : in out Unbounded_String; S : String);
57 pragma Inline (Set_String);
58 -- This function sets the string contents of the referenced unbounded
59 -- string to the given string value. It is significantly more efficient
60 -- than the use of To_Unbounded_String with an assignment, since it
61 -- avoids the necessity of messing with finalization chains. The lower
62 -- bound of the string S is not required to be one.
63
64 procedure Set_String (UP : in out Unbounded_String; S : String_Access);
65 pragma Inline (Set_String);
66 -- This version of Set_String takes a string access value, rather than a
67 -- string. The lower bound of the string value is required to be one, and
68 -- this requirement is not checked.
69
70end Ada.Strings.Unbounded.Aux;
This page took 0.437357 seconds and 5 git commands to generate.