111
|
1 .. role:: switch(samp)
|
|
2
|
|
3 .. _The_GNAT_Library:
|
|
4
|
|
5 ****************
|
|
6 The GNAT Library
|
|
7 ****************
|
|
8
|
|
9 The GNAT library contains a number of general and special purpose packages.
|
|
10 It represents functionality that the GNAT developers have found useful, and
|
|
11 which is made available to GNAT users. The packages described here are fully
|
|
12 supported, and upwards compatibility will be maintained in future releases,
|
|
13 so you can use these facilities with the confidence that the same functionality
|
|
14 will be available in future releases.
|
|
15
|
|
16 The chapter here simply gives a brief summary of the facilities available.
|
|
17 The full documentation is found in the spec file for the package. The full
|
|
18 sources of these library packages, including both spec and body, are provided
|
|
19 with all GNAT releases. For example, to find out the full specifications of
|
|
20 the SPITBOL pattern matching capability, including a full tutorial and
|
|
21 extensive examples, look in the :file:`g-spipat.ads` file in the library.
|
|
22
|
|
23 For each entry here, the package name (as it would appear in a ``with``
|
|
24 clause) is given, followed by the name of the corresponding spec file in
|
|
25 parentheses. The packages are children in four hierarchies, ``Ada``,
|
|
26 ``Interfaces``, ``System``, and ``GNAT``, the latter being a
|
|
27 GNAT-specific hierarchy.
|
|
28
|
|
29 Note that an application program should only use packages in one of these
|
|
30 four hierarchies if the package is defined in the Ada Reference Manual,
|
|
31 or is listed in this section of the GNAT Programmers Reference Manual.
|
|
32 All other units should be considered internal implementation units and
|
|
33 should not be directly ``with``\ ed by application code. The use of
|
|
34 a ``with`` clause that references one of these internal implementation
|
|
35 units makes an application potentially dependent on changes in versions
|
|
36 of GNAT, and will generate a warning message.
|
|
37
|
|
38 .. _`Ada.Characters.Latin_9_(a-chlat9.ads)`:
|
|
39
|
|
40 ``Ada.Characters.Latin_9`` (:file:`a-chlat9.ads`)
|
|
41 =================================================
|
|
42
|
|
43 .. index:: Ada.Characters.Latin_9 (a-chlat9.ads)
|
|
44
|
|
45 .. index:: Latin_9 constants for Character
|
|
46
|
|
47 This child of ``Ada.Characters``
|
|
48 provides a set of definitions corresponding to those in the
|
|
49 RM-defined package ``Ada.Characters.Latin_1`` but with the
|
|
50 few modifications required for ``Latin-9``
|
|
51 The provision of such a package
|
|
52 is specifically authorized by the Ada Reference Manual
|
|
53 (RM A.3.3(27)).
|
|
54
|
|
55 .. _`Ada.Characters.Wide_Latin_1_(a-cwila1.ads)`:
|
|
56
|
|
57 ``Ada.Characters.Wide_Latin_1`` (:file:`a-cwila1.ads`)
|
|
58 ======================================================
|
|
59
|
|
60 .. index:: Ada.Characters.Wide_Latin_1 (a-cwila1.ads)
|
|
61
|
|
62 .. index:: Latin_1 constants for Wide_Character
|
|
63
|
|
64 This child of ``Ada.Characters``
|
|
65 provides a set of definitions corresponding to those in the
|
|
66 RM-defined package ``Ada.Characters.Latin_1`` but with the
|
|
67 types of the constants being ``Wide_Character``
|
|
68 instead of ``Character``. The provision of such a package
|
|
69 is specifically authorized by the Ada Reference Manual
|
|
70 (RM A.3.3(27)).
|
|
71
|
|
72 .. _`Ada.Characters.Wide_Latin_9_(a-cwila1.ads)`:
|
|
73
|
|
74 ``Ada.Characters.Wide_Latin_9`` (:file:`a-cwila1.ads`)
|
|
75 ======================================================
|
|
76
|
|
77 .. index:: Ada.Characters.Wide_Latin_9 (a-cwila1.ads)
|
|
78
|
|
79 .. index:: Latin_9 constants for Wide_Character
|
|
80
|
|
81 This child of ``Ada.Characters``
|
|
82 provides a set of definitions corresponding to those in the
|
|
83 GNAT defined package ``Ada.Characters.Latin_9`` but with the
|
|
84 types of the constants being ``Wide_Character``
|
|
85 instead of ``Character``. The provision of such a package
|
|
86 is specifically authorized by the Ada Reference Manual
|
|
87 (RM A.3.3(27)).
|
|
88
|
|
89 .. _`Ada.Characters.Wide_Wide_Latin_1_(a-chzla1.ads)`:
|
|
90
|
|
91 ``Ada.Characters.Wide_Wide_Latin_1`` (:file:`a-chzla1.ads`)
|
|
92 ===========================================================
|
|
93
|
|
94 .. index:: Ada.Characters.Wide_Wide_Latin_1 (a-chzla1.ads)
|
|
95
|
|
96 .. index:: Latin_1 constants for Wide_Wide_Character
|
|
97
|
|
98 This child of ``Ada.Characters``
|
|
99 provides a set of definitions corresponding to those in the
|
|
100 RM-defined package ``Ada.Characters.Latin_1`` but with the
|
|
101 types of the constants being ``Wide_Wide_Character``
|
|
102 instead of ``Character``. The provision of such a package
|
|
103 is specifically authorized by the Ada Reference Manual
|
|
104 (RM A.3.3(27)).
|
|
105
|
|
106 .. _`Ada.Characters.Wide_Wide_Latin_9_(a-chzla9.ads)`:
|
|
107
|
|
108 ``Ada.Characters.Wide_Wide_Latin_9`` (:file:`a-chzla9.ads`)
|
|
109 ===========================================================
|
|
110
|
|
111 .. index:: Ada.Characters.Wide_Wide_Latin_9 (a-chzla9.ads)
|
|
112
|
|
113 .. index:: Latin_9 constants for Wide_Wide_Character
|
|
114
|
|
115 This child of ``Ada.Characters``
|
|
116 provides a set of definitions corresponding to those in the
|
|
117 GNAT defined package ``Ada.Characters.Latin_9`` but with the
|
|
118 types of the constants being ``Wide_Wide_Character``
|
|
119 instead of ``Character``. The provision of such a package
|
|
120 is specifically authorized by the Ada Reference Manual
|
|
121 (RM A.3.3(27)).
|
|
122
|
|
123 .. _`Ada.Containers.Formal_Doubly_Linked_Lists_(a-cfdlli.ads)`:
|
|
124
|
|
125 ``Ada.Containers.Formal_Doubly_Linked_Lists`` (:file:`a-cfdlli.ads`)
|
|
126 ====================================================================
|
|
127
|
|
128 .. index:: Ada.Containers.Formal_Doubly_Linked_Lists (a-cfdlli.ads)
|
|
129
|
|
130 .. index:: Formal container for doubly linked lists
|
|
131
|
|
132 This child of ``Ada.Containers`` defines a modified version of the
|
|
133 Ada 2005 container for doubly linked lists, meant to facilitate formal
|
|
134 verification of code using such containers. The specification of this
|
|
135 unit is compatible with SPARK 2014.
|
|
136
|
|
137 Note that although this container was designed with formal verification
|
|
138 in mind, it may well be generally useful in that it is a simplified more
|
|
139 efficient version than the one defined in the standard. In particular it
|
|
140 does not have the complex overhead required to detect cursor tampering.
|
|
141
|
|
142 .. _`Ada.Containers.Formal_Hashed_Maps_(a-cfhama.ads)`:
|
|
143
|
|
144 ``Ada.Containers.Formal_Hashed_Maps`` (:file:`a-cfhama.ads`)
|
|
145 ============================================================
|
|
146
|
|
147 .. index:: Ada.Containers.Formal_Hashed_Maps (a-cfhama.ads)
|
|
148
|
|
149 .. index:: Formal container for hashed maps
|
|
150
|
|
151 This child of ``Ada.Containers`` defines a modified version of the
|
|
152 Ada 2005 container for hashed maps, meant to facilitate formal
|
|
153 verification of code using such containers. The specification of this
|
|
154 unit is compatible with SPARK 2014.
|
|
155
|
|
156 Note that although this container was designed with formal verification
|
|
157 in mind, it may well be generally useful in that it is a simplified more
|
|
158 efficient version than the one defined in the standard. In particular it
|
|
159 does not have the complex overhead required to detect cursor tampering.
|
|
160
|
|
161 .. _`Ada.Containers.Formal_Hashed_Sets_(a-cfhase.ads)`:
|
|
162
|
|
163 ``Ada.Containers.Formal_Hashed_Sets`` (:file:`a-cfhase.ads`)
|
|
164 ============================================================
|
|
165
|
|
166 .. index:: Ada.Containers.Formal_Hashed_Sets (a-cfhase.ads)
|
|
167
|
|
168 .. index:: Formal container for hashed sets
|
|
169
|
|
170 This child of ``Ada.Containers`` defines a modified version of the
|
|
171 Ada 2005 container for hashed sets, meant to facilitate formal
|
|
172 verification of code using such containers. The specification of this
|
|
173 unit is compatible with SPARK 2014.
|
|
174
|
|
175 Note that although this container was designed with formal verification
|
|
176 in mind, it may well be generally useful in that it is a simplified more
|
|
177 efficient version than the one defined in the standard. In particular it
|
|
178 does not have the complex overhead required to detect cursor tampering.
|
|
179
|
|
180 .. _`Ada.Containers.Formal_Ordered_Maps_(a-cforma.ads)`:
|
|
181
|
|
182 ``Ada.Containers.Formal_Ordered_Maps`` (:file:`a-cforma.ads`)
|
|
183 =============================================================
|
|
184
|
|
185 .. index:: Ada.Containers.Formal_Ordered_Maps (a-cforma.ads)
|
|
186
|
|
187 .. index:: Formal container for ordered maps
|
|
188
|
|
189 This child of ``Ada.Containers`` defines a modified version of the
|
|
190 Ada 2005 container for ordered maps, meant to facilitate formal
|
|
191 verification of code using such containers. The specification of this
|
|
192 unit is compatible with SPARK 2014.
|
|
193
|
|
194 Note that although this container was designed with formal verification
|
|
195 in mind, it may well be generally useful in that it is a simplified more
|
|
196 efficient version than the one defined in the standard. In particular it
|
|
197 does not have the complex overhead required to detect cursor tampering.
|
|
198
|
|
199 .. _`Ada.Containers.Formal_Ordered_Sets_(a-cforse.ads)`:
|
|
200
|
|
201 ``Ada.Containers.Formal_Ordered_Sets`` (:file:`a-cforse.ads`)
|
|
202 =============================================================
|
|
203
|
|
204 .. index:: Ada.Containers.Formal_Ordered_Sets (a-cforse.ads)
|
|
205
|
|
206 .. index:: Formal container for ordered sets
|
|
207
|
|
208 This child of ``Ada.Containers`` defines a modified version of the
|
|
209 Ada 2005 container for ordered sets, meant to facilitate formal
|
|
210 verification of code using such containers. The specification of this
|
|
211 unit is compatible with SPARK 2014.
|
|
212
|
|
213 Note that although this container was designed with formal verification
|
|
214 in mind, it may well be generally useful in that it is a simplified more
|
|
215 efficient version than the one defined in the standard. In particular it
|
|
216 does not have the complex overhead required to detect cursor tampering.
|
|
217
|
|
218 .. _`Ada.Containers.Formal_Vectors_(a-cofove.ads)`:
|
|
219
|
|
220 ``Ada.Containers.Formal_Vectors`` (:file:`a-cofove.ads`)
|
|
221 ========================================================
|
|
222
|
|
223 .. index:: Ada.Containers.Formal_Vectors (a-cofove.ads)
|
|
224
|
|
225 .. index:: Formal container for vectors
|
|
226
|
|
227 This child of ``Ada.Containers`` defines a modified version of the
|
|
228 Ada 2005 container for vectors, meant to facilitate formal
|
|
229 verification of code using such containers. The specification of this
|
|
230 unit is compatible with SPARK 2014.
|
|
231
|
|
232 Note that although this container was designed with formal verification
|
|
233 in mind, it may well be generally useful in that it is a simplified more
|
|
234 efficient version than the one defined in the standard. In particular it
|
|
235 does not have the complex overhead required to detect cursor tampering.
|
|
236
|
|
237 .. _`Ada.Containers.Formal_Indefinite_Vectors_(a-cfinve.ads)`:
|
|
238
|
|
239 ``Ada.Containers.Formal_Indefinite_Vectors`` (:file:`a-cfinve.ads`)
|
|
240 ===================================================================
|
|
241
|
|
242 .. index:: Ada.Containers.Formal_Indefinite_Vectors (a-cfinve.ads)
|
|
243
|
|
244 .. index:: Formal container for vectors
|
|
245
|
|
246 This child of ``Ada.Containers`` defines a modified version of the
|
|
247 Ada 2005 container for vectors of indefinite elements, meant to
|
|
248 facilitate formal verification of code using such containers. The
|
|
249 specification of this unit is compatible with SPARK 2014.
|
|
250
|
|
251 Note that although this container was designed with formal verification
|
|
252 in mind, it may well be generally useful in that it is a simplified more
|
|
253 efficient version than the one defined in the standard. In particular it
|
|
254 does not have the complex overhead required to detect cursor tampering.
|
|
255
|
|
256 .. _`Ada.Containers.Functional_Vectors_(a-cofuve.ads)`:
|
|
257
|
|
258 ``Ada.Containers.Functional_Vectors`` (:file:`a-cofuve.ads`)
|
|
259 =================================================================
|
|
260
|
|
261 .. index:: Ada.Containers.Functional_Vectors (a-cofuve.ads)
|
|
262
|
|
263 .. index:: Functional vectors
|
|
264
|
|
265 This child of ``Ada.Containers`` defines immutable vectors. These
|
|
266 containers are unbounded and may contain indefinite elements. Furthermore, to
|
|
267 be usable in every context, they are neither controlled nor limited. As they
|
|
268 are functional, that is, no primitives are provided which would allow modifying
|
|
269 an existing container, these containers can still be used safely.
|
|
270
|
|
271 Their API features functions creating new containers from existing ones.
|
|
272 As a consequence, these containers are highly inefficient. They are also
|
|
273 memory consuming, as the allocated memory is not reclaimed when the container
|
|
274 is no longer referenced. Thus, they should in general be used in ghost code
|
|
275 and annotations, so that they can be removed from the final executable. The
|
|
276 specification of this unit is compatible with SPARK 2014.
|
|
277
|
|
278 .. _`Ada.Containers.Functional_Sets_(a-cofuse.ads)`:
|
|
279
|
|
280 ``Ada.Containers.Functional_Sets`` (:file:`a-cofuse.ads`)
|
|
281 =================================================================
|
|
282
|
|
283 .. index:: Ada.Containers.Functional_Sets (a-cofuse.ads)
|
|
284
|
|
285 .. index:: Functional sets
|
|
286
|
|
287 This child of ``Ada.Containers`` defines immutable sets. These containers are
|
|
288 unbounded and may contain indefinite elements. Furthermore, to be usable in
|
|
289 every context, they are neither controlled nor limited. As they are functional,
|
|
290 that is, no primitives are provided which would allow modifying an existing
|
|
291 container, these containers can still be used safely.
|
|
292
|
|
293 Their API features functions creating new containers from existing ones.
|
|
294 As a consequence, these containers are highly inefficient. They are also
|
|
295 memory consuming, as the allocated memory is not reclaimed when the container
|
|
296 is no longer referenced. Thus, they should in general be used in ghost code
|
|
297 and annotations, so that they can be removed from the final executable. The
|
|
298 specification of this unit is compatible with SPARK 2014.
|
|
299
|
|
300 .. _`Ada.Containers.Functional_Maps_(a-cofuma.ads)`:
|
|
301
|
|
302 ``Ada.Containers.Functional_Maps`` (:file:`a-cofuma.ads`)
|
|
303 =================================================================
|
|
304
|
|
305 .. index:: Ada.Containers.Functional_Maps (a-cofuma.ads)
|
|
306
|
|
307 .. index:: Functional maps
|
|
308
|
|
309 This child of ``Ada.Containers`` defines immutable maps. These containers are
|
|
310 unbounded and may contain indefinite elements. Furthermore, to be usable in
|
|
311 every context, they are neither controlled nor limited. As they are functional,
|
|
312 that is, no primitives are provided which would allow modifying an existing
|
|
313 container, these containers can still be used safely.
|
|
314
|
|
315 Their API features functions creating new containers from existing ones.
|
|
316 As a consequence, these containers are highly inefficient. They are also
|
|
317 memory consuming, as the allocated memory is not reclaimed when the container
|
|
318 is no longer referenced. Thus, they should in general be used in ghost code
|
|
319 and annotations, so that they can be removed from the final executable. The
|
|
320 specification of this unit is compatible with SPARK 2014.
|
|
321
|
|
322 .. _`Ada.Containers.Bounded_Holders_(a-coboho.ads)`:
|
|
323
|
|
324 ``Ada.Containers.Bounded_Holders`` (:file:`a-coboho.ads`)
|
|
325 =========================================================
|
|
326
|
|
327 .. index:: Ada.Containers.Bounded_Holders (a-coboho.ads)
|
|
328
|
|
329 .. index:: Formal container for vectors
|
|
330
|
|
331 This child of ``Ada.Containers`` defines a modified version of
|
|
332 Indefinite_Holders that avoids heap allocation.
|
|
333
|
|
334 .. _`Ada.Command_Line.Environment_(a-colien.ads)`:
|
|
335
|
|
336 ``Ada.Command_Line.Environment`` (:file:`a-colien.ads`)
|
|
337 =======================================================
|
|
338
|
|
339 .. index:: Ada.Command_Line.Environment (a-colien.ads)
|
|
340
|
|
341 .. index:: Environment entries
|
|
342
|
|
343 This child of ``Ada.Command_Line``
|
|
344 provides a mechanism for obtaining environment values on systems
|
|
345 where this concept makes sense.
|
|
346
|
|
347 .. _`Ada.Command_Line.Remove_(a-colire.ads)`:
|
|
348
|
|
349 ``Ada.Command_Line.Remove`` (:file:`a-colire.ads`)
|
|
350 ==================================================
|
|
351
|
|
352 .. index:: Ada.Command_Line.Remove (a-colire.ads)
|
|
353
|
|
354 .. index:: Removing command line arguments
|
|
355
|
|
356 .. index:: Command line, argument removal
|
|
357
|
|
358 This child of ``Ada.Command_Line``
|
|
359 provides a mechanism for logically removing
|
|
360 arguments from the argument list. Once removed, an argument is not visible
|
|
361 to further calls on the subprograms in ``Ada.Command_Line`` will not
|
|
362 see the removed argument.
|
|
363
|
|
364 .. _`Ada.Command_Line.Response_File_(a-clrefi.ads)`:
|
|
365
|
|
366 ``Ada.Command_Line.Response_File`` (:file:`a-clrefi.ads`)
|
|
367 =========================================================
|
|
368
|
|
369 .. index:: Ada.Command_Line.Response_File (a-clrefi.ads)
|
|
370
|
|
371 .. index:: Response file for command line
|
|
372
|
|
373 .. index:: Command line, response file
|
|
374
|
|
375 .. index:: Command line, handling long command lines
|
|
376
|
|
377 This child of ``Ada.Command_Line`` provides a mechanism facilities for
|
|
378 getting command line arguments from a text file, called a "response file".
|
|
379 Using a response file allow passing a set of arguments to an executable longer
|
|
380 than the maximum allowed by the system on the command line.
|
|
381
|
|
382 .. _`Ada.Direct_IO.C_Streams_(a-diocst.ads)`:
|
|
383
|
|
384 ``Ada.Direct_IO.C_Streams`` (:file:`a-diocst.ads`)
|
|
385 ==================================================
|
|
386
|
|
387 .. index:: Ada.Direct_IO.C_Streams (a-diocst.ads)
|
|
388
|
|
389 .. index:: C Streams, Interfacing with Direct_IO
|
|
390
|
|
391 This package provides subprograms that allow interfacing between
|
|
392 C streams and ``Direct_IO``. The stream identifier can be
|
|
393 extracted from a file opened on the Ada side, and an Ada file
|
|
394 can be constructed from a stream opened on the C side.
|
|
395
|
|
396 .. _`Ada.Exceptions.Is_Null_Occurrence_(a-einuoc.ads)`:
|
|
397
|
|
398 ``Ada.Exceptions.Is_Null_Occurrence`` (:file:`a-einuoc.ads`)
|
|
399 ============================================================
|
|
400
|
|
401 .. index:: Ada.Exceptions.Is_Null_Occurrence (a-einuoc.ads)
|
|
402
|
|
403 .. index:: Null_Occurrence, testing for
|
|
404
|
|
405 This child subprogram provides a way of testing for the null
|
|
406 exception occurrence (``Null_Occurrence``) without raising
|
|
407 an exception.
|
|
408
|
|
409 .. _`Ada.Exceptions.Last_Chance_Handler_(a-elchha.ads)`:
|
|
410
|
|
411 ``Ada.Exceptions.Last_Chance_Handler`` (:file:`a-elchha.ads`)
|
|
412 =============================================================
|
|
413
|
|
414 .. index:: Ada.Exceptions.Last_Chance_Handler (a-elchha.ads)
|
|
415
|
|
416 .. index:: Null_Occurrence, testing for
|
|
417
|
|
418 This child subprogram is used for handling otherwise unhandled
|
|
419 exceptions (hence the name last chance), and perform clean ups before
|
|
420 terminating the program. Note that this subprogram never returns.
|
|
421
|
|
422 .. _`Ada.Exceptions.Traceback_(a-exctra.ads)`:
|
|
423
|
|
424 ``Ada.Exceptions.Traceback`` (:file:`a-exctra.ads`)
|
|
425 ===================================================
|
|
426
|
|
427 .. index:: Ada.Exceptions.Traceback (a-exctra.ads)
|
|
428
|
|
429 .. index:: Traceback for Exception Occurrence
|
|
430
|
|
431 This child package provides the subprogram (``Tracebacks``) to
|
|
432 give a traceback array of addresses based on an exception
|
|
433 occurrence.
|
|
434
|
|
435 .. _`Ada.Sequential_IO.C_Streams_(a-siocst.ads)`:
|
|
436
|
|
437 ``Ada.Sequential_IO.C_Streams`` (:file:`a-siocst.ads`)
|
|
438 ======================================================
|
|
439
|
|
440 .. index:: Ada.Sequential_IO.C_Streams (a-siocst.ads)
|
|
441
|
|
442 .. index:: C Streams, Interfacing with Sequential_IO
|
|
443
|
|
444 This package provides subprograms that allow interfacing between
|
|
445 C streams and ``Sequential_IO``. The stream identifier can be
|
|
446 extracted from a file opened on the Ada side, and an Ada file
|
|
447 can be constructed from a stream opened on the C side.
|
|
448
|
|
449 .. _`Ada.Streams.Stream_IO.C_Streams_(a-ssicst.ads)`:
|
|
450
|
|
451 ``Ada.Streams.Stream_IO.C_Streams`` (:file:`a-ssicst.ads`)
|
|
452 ==========================================================
|
|
453
|
|
454 .. index:: Ada.Streams.Stream_IO.C_Streams (a-ssicst.ads)
|
|
455
|
|
456 .. index:: C Streams, Interfacing with Stream_IO
|
|
457
|
|
458 This package provides subprograms that allow interfacing between
|
|
459 C streams and ``Stream_IO``. The stream identifier can be
|
|
460 extracted from a file opened on the Ada side, and an Ada file
|
|
461 can be constructed from a stream opened on the C side.
|
|
462
|
|
463 .. _`Ada.Strings.Unbounded.Text_IO_(a-suteio.ads)`:
|
|
464
|
|
465 ``Ada.Strings.Unbounded.Text_IO`` (:file:`a-suteio.ads`)
|
|
466 ========================================================
|
|
467
|
|
468 .. index:: Ada.Strings.Unbounded.Text_IO (a-suteio.ads)
|
|
469
|
|
470 .. index:: Unbounded_String, IO support
|
|
471
|
|
472 .. index:: Text_IO, extensions for unbounded strings
|
|
473
|
|
474 This package provides subprograms for Text_IO for unbounded
|
|
475 strings, avoiding the necessity for an intermediate operation
|
|
476 with ordinary strings.
|
|
477
|
|
478 .. _`Ada.Strings.Wide_Unbounded.Wide_Text_IO_(a-swuwti.ads)`:
|
|
479
|
|
480 ``Ada.Strings.Wide_Unbounded.Wide_Text_IO`` (:file:`a-swuwti.ads`)
|
|
481 ==================================================================
|
|
482
|
|
483 .. index:: Ada.Strings.Wide_Unbounded.Wide_Text_IO (a-swuwti.ads)
|
|
484
|
|
485 .. index:: Unbounded_Wide_String, IO support
|
|
486
|
|
487 .. index:: Text_IO, extensions for unbounded wide strings
|
|
488
|
|
489 This package provides subprograms for Text_IO for unbounded
|
|
490 wide strings, avoiding the necessity for an intermediate operation
|
|
491 with ordinary wide strings.
|
|
492
|
|
493 .. _`Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Text_IO_(a-szuzti.ads)`:
|
|
494
|
|
495 ``Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Text_IO`` (:file:`a-szuzti.ads`)
|
|
496 ============================================================================
|
|
497
|
|
498 .. index:: Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Text_IO (a-szuzti.ads)
|
|
499
|
|
500 .. index:: Unbounded_Wide_Wide_String, IO support
|
|
501
|
|
502 .. index:: Text_IO, extensions for unbounded wide wide strings
|
|
503
|
|
504 This package provides subprograms for Text_IO for unbounded
|
|
505 wide wide strings, avoiding the necessity for an intermediate operation
|
|
506 with ordinary wide wide strings.
|
|
507
|
|
508 .. _`Ada.Text_IO.C_Streams_(a-tiocst.ads)`:
|
|
509
|
|
510 ``Ada.Text_IO.C_Streams`` (:file:`a-tiocst.ads`)
|
|
511 ================================================
|
|
512
|
|
513 .. index:: Ada.Text_IO.C_Streams (a-tiocst.ads)
|
|
514
|
|
515 .. index:: C Streams, Interfacing with ``Text_IO``
|
|
516
|
|
517 This package provides subprograms that allow interfacing between
|
|
518 C streams and ``Text_IO``. The stream identifier can be
|
|
519 extracted from a file opened on the Ada side, and an Ada file
|
|
520 can be constructed from a stream opened on the C side.
|
|
521
|
|
522 .. _`Ada.Text_IO.Reset_Standard_Files_(a-tirsfi.ads)`:
|
|
523
|
|
524 ``Ada.Text_IO.Reset_Standard_Files`` (:file:`a-tirsfi.ads`)
|
|
525 ===========================================================
|
|
526
|
|
527 .. index:: Ada.Text_IO.Reset_Standard_Files (a-tirsfi.ads)
|
|
528
|
|
529 .. index:: Text_IO resetting standard files
|
|
530
|
|
531 This procedure is used to reset the status of the standard files used
|
|
532 by Ada.Text_IO. This is useful in a situation (such as a restart in an
|
|
533 embedded application) where the status of the files may change during
|
|
534 execution (for example a standard input file may be redefined to be
|
|
535 interactive).
|
|
536
|
|
537 .. _`Ada.Wide_Characters.Unicode_(a-wichun.ads)`:
|
|
538
|
|
539 ``Ada.Wide_Characters.Unicode`` (:file:`a-wichun.ads`)
|
|
540 ======================================================
|
|
541
|
|
542 .. index:: Ada.Wide_Characters.Unicode (a-wichun.ads)
|
|
543
|
|
544 .. index:: Unicode categorization, Wide_Character
|
|
545
|
|
546 This package provides subprograms that allow categorization of
|
|
547 Wide_Character values according to Unicode categories.
|
|
548
|
|
549 .. _`Ada.Wide_Text_IO.C_Streams_(a-wtcstr.ads)`:
|
|
550
|
|
551 ``Ada.Wide_Text_IO.C_Streams`` (:file:`a-wtcstr.ads`)
|
|
552 =====================================================
|
|
553
|
|
554 .. index:: Ada.Wide_Text_IO.C_Streams (a-wtcstr.ads)
|
|
555
|
|
556 .. index:: C Streams, Interfacing with ``Wide_Text_IO``
|
|
557
|
|
558 This package provides subprograms that allow interfacing between
|
|
559 C streams and ``Wide_Text_IO``. The stream identifier can be
|
|
560 extracted from a file opened on the Ada side, and an Ada file
|
|
561 can be constructed from a stream opened on the C side.
|
|
562
|
|
563 .. _`Ada.Wide_Text_IO.Reset_Standard_Files_(a-wrstfi.ads)`:
|
|
564
|
|
565 ``Ada.Wide_Text_IO.Reset_Standard_Files`` (:file:`a-wrstfi.ads`)
|
|
566 ================================================================
|
|
567
|
|
568 .. index:: Ada.Wide_Text_IO.Reset_Standard_Files (a-wrstfi.ads)
|
|
569
|
|
570 .. index:: Wide_Text_IO resetting standard files
|
|
571
|
|
572 This procedure is used to reset the status of the standard files used
|
|
573 by Ada.Wide_Text_IO. This is useful in a situation (such as a restart in an
|
|
574 embedded application) where the status of the files may change during
|
|
575 execution (for example a standard input file may be redefined to be
|
|
576 interactive).
|
|
577
|
|
578 .. _`Ada.Wide_Wide_Characters.Unicode_(a-zchuni.ads)`:
|
|
579
|
|
580 ``Ada.Wide_Wide_Characters.Unicode`` (:file:`a-zchuni.ads`)
|
|
581 ===========================================================
|
|
582
|
|
583 .. index:: Ada.Wide_Wide_Characters.Unicode (a-zchuni.ads)
|
|
584
|
|
585 .. index:: Unicode categorization, Wide_Wide_Character
|
|
586
|
|
587 This package provides subprograms that allow categorization of
|
|
588 Wide_Wide_Character values according to Unicode categories.
|
|
589
|
|
590 .. _`Ada.Wide_Wide_Text_IO.C_Streams_(a-ztcstr.ads)`:
|
|
591
|
|
592 ``Ada.Wide_Wide_Text_IO.C_Streams`` (:file:`a-ztcstr.ads`)
|
|
593 ==========================================================
|
|
594
|
|
595 .. index:: Ada.Wide_Wide_Text_IO.C_Streams (a-ztcstr.ads)
|
|
596
|
|
597 .. index:: C Streams, Interfacing with ``Wide_Wide_Text_IO``
|
|
598
|
|
599 This package provides subprograms that allow interfacing between
|
|
600 C streams and ``Wide_Wide_Text_IO``. The stream identifier can be
|
|
601 extracted from a file opened on the Ada side, and an Ada file
|
|
602 can be constructed from a stream opened on the C side.
|
|
603
|
|
604 .. _`Ada.Wide_Wide_Text_IO.Reset_Standard_Files_(a-zrstfi.ads)`:
|
|
605
|
|
606 ``Ada.Wide_Wide_Text_IO.Reset_Standard_Files`` (:file:`a-zrstfi.ads`)
|
|
607 =====================================================================
|
|
608
|
|
609 .. index:: Ada.Wide_Wide_Text_IO.Reset_Standard_Files (a-zrstfi.ads)
|
|
610
|
|
611 .. index:: Wide_Wide_Text_IO resetting standard files
|
|
612
|
|
613 This procedure is used to reset the status of the standard files used
|
|
614 by Ada.Wide_Wide_Text_IO. This is useful in a situation (such as a
|
|
615 restart in an embedded application) where the status of the files may
|
|
616 change during execution (for example a standard input file may be
|
|
617 redefined to be interactive).
|
|
618
|
|
619 .. _`GNAT.Altivec_(g-altive.ads)`:
|
|
620
|
|
621 ``GNAT.Altivec`` (:file:`g-altive.ads`)
|
|
622 =======================================
|
|
623
|
|
624 .. index:: GNAT.Altivec (g-altive.ads)
|
|
625
|
|
626 .. index:: AltiVec
|
|
627
|
|
628 This is the root package of the GNAT AltiVec binding. It provides
|
|
629 definitions of constants and types common to all the versions of the
|
|
630 binding.
|
|
631
|
|
632 .. _`GNAT.Altivec.Conversions_(g-altcon.ads)`:
|
|
633
|
|
634 ``GNAT.Altivec.Conversions`` (:file:`g-altcon.ads`)
|
|
635 ===================================================
|
|
636
|
|
637 .. index:: GNAT.Altivec.Conversions (g-altcon.ads)
|
|
638
|
|
639 .. index:: AltiVec
|
|
640
|
|
641 This package provides the Vector/View conversion routines.
|
|
642
|
|
643 .. _`GNAT.Altivec.Vector_Operations_(g-alveop.ads)`:
|
|
644
|
|
645 ``GNAT.Altivec.Vector_Operations`` (:file:`g-alveop.ads`)
|
|
646 =========================================================
|
|
647
|
|
648 .. index:: GNAT.Altivec.Vector_Operations (g-alveop.ads)
|
|
649
|
|
650 .. index:: AltiVec
|
|
651
|
|
652 This package exposes the Ada interface to the AltiVec operations on
|
|
653 vector objects. A soft emulation is included by default in the GNAT
|
|
654 library. The hard binding is provided as a separate package. This unit
|
|
655 is common to both bindings.
|
|
656
|
|
657 .. _`GNAT.Altivec.Vector_Types_(g-alvety.ads)`:
|
|
658
|
|
659 ``GNAT.Altivec.Vector_Types`` (:file:`g-alvety.ads`)
|
|
660 ====================================================
|
|
661
|
|
662 .. index:: GNAT.Altivec.Vector_Types (g-alvety.ads)
|
|
663
|
|
664 .. index:: AltiVec
|
|
665
|
|
666 This package exposes the various vector types part of the Ada binding
|
|
667 to AltiVec facilities.
|
|
668
|
|
669 .. _`GNAT.Altivec.Vector_Views_(g-alvevi.ads)`:
|
|
670
|
|
671 ``GNAT.Altivec.Vector_Views`` (:file:`g-alvevi.ads`)
|
|
672 ====================================================
|
|
673
|
|
674 .. index:: GNAT.Altivec.Vector_Views (g-alvevi.ads)
|
|
675
|
|
676 .. index:: AltiVec
|
|
677
|
|
678 This package provides public 'View' data types from/to which private
|
|
679 vector representations can be converted via
|
|
680 GNAT.Altivec.Conversions. This allows convenient access to individual
|
|
681 vector elements and provides a simple way to initialize vector
|
|
682 objects.
|
|
683
|
|
684 .. _`GNAT.Array_Split_(g-arrspl.ads)`:
|
|
685
|
|
686 ``GNAT.Array_Split`` (:file:`g-arrspl.ads`)
|
|
687 ===========================================
|
|
688
|
|
689 .. index:: GNAT.Array_Split (g-arrspl.ads)
|
|
690
|
|
691 .. index:: Array splitter
|
|
692
|
|
693 Useful array-manipulation routines: given a set of separators, split
|
|
694 an array wherever the separators appear, and provide direct access
|
|
695 to the resulting slices.
|
|
696
|
|
697 .. _`GNAT.AWK_(g-awk.ads)`:
|
|
698
|
|
699 ``GNAT.AWK`` (:file:`g-awk.ads`)
|
|
700 ================================
|
|
701
|
|
702 .. index:: GNAT.AWK (g-awk.ads)
|
|
703
|
|
704 .. index:: Parsing
|
|
705
|
|
706 .. index:: AWK
|
|
707
|
|
708 Provides AWK-like parsing functions, with an easy interface for parsing one
|
|
709 or more files containing formatted data. The file is viewed as a database
|
|
710 where each record is a line and a field is a data element in this line.
|
|
711
|
|
712 .. _`GNAT.Bind_Environment_(g-binenv.ads)`:
|
|
713
|
|
714 ``GNAT.Bind_Environment`` (:file:`g-binenv.ads`)
|
|
715 ================================================
|
|
716
|
|
717 .. index:: GNAT.Bind_Environment (g-binenv.ads)
|
|
718
|
|
719 .. index:: Bind environment
|
|
720
|
|
721 Provides access to key=value associations captured at bind time.
|
|
722 These associations can be specified using the :switch:`-V` binder command
|
|
723 line switch.
|
|
724
|
|
725 .. _`GNAT.Bounded_Buffers_(g-boubuf.ads)`:
|
|
726
|
|
727 ``GNAT.Bounded_Buffers`` (:file:`g-boubuf.ads`)
|
|
728 ===============================================
|
|
729
|
|
730 .. index:: GNAT.Bounded_Buffers (g-boubuf.ads)
|
|
731
|
|
732 .. index:: Parsing
|
|
733
|
|
734 .. index:: Bounded Buffers
|
|
735
|
|
736 Provides a concurrent generic bounded buffer abstraction. Instances are
|
|
737 useful directly or as parts of the implementations of other abstractions,
|
|
738 such as mailboxes.
|
|
739
|
|
740 .. _`GNAT.Bounded_Mailboxes_(g-boumai.ads)`:
|
|
741
|
|
742 ``GNAT.Bounded_Mailboxes`` (:file:`g-boumai.ads`)
|
|
743 =================================================
|
|
744
|
|
745 .. index:: GNAT.Bounded_Mailboxes (g-boumai.ads)
|
|
746
|
|
747 .. index:: Parsing
|
|
748
|
|
749 .. index:: Mailboxes
|
|
750
|
|
751 Provides a thread-safe asynchronous intertask mailbox communication facility.
|
|
752
|
|
753 .. _`GNAT.Bubble_Sort_(g-bubsor.ads)`:
|
|
754
|
|
755 ``GNAT.Bubble_Sort`` (:file:`g-bubsor.ads`)
|
|
756 ===========================================
|
|
757
|
|
758 .. index:: GNAT.Bubble_Sort (g-bubsor.ads)
|
|
759
|
|
760 .. index:: Sorting
|
|
761
|
|
762 .. index:: Bubble sort
|
|
763
|
|
764 Provides a general implementation of bubble sort usable for sorting arbitrary
|
|
765 data items. Exchange and comparison procedures are provided by passing
|
|
766 access-to-procedure values.
|
|
767
|
|
768 .. _`GNAT.Bubble_Sort_A_(g-busora.ads)`:
|
|
769
|
|
770 ``GNAT.Bubble_Sort_A`` (:file:`g-busora.ads`)
|
|
771 =============================================
|
|
772
|
|
773 .. index:: GNAT.Bubble_Sort_A (g-busora.ads)
|
|
774
|
|
775 .. index:: Sorting
|
|
776
|
|
777 .. index:: Bubble sort
|
|
778
|
|
779 Provides a general implementation of bubble sort usable for sorting arbitrary
|
|
780 data items. Move and comparison procedures are provided by passing
|
|
781 access-to-procedure values. This is an older version, retained for
|
|
782 compatibility. Usually ``GNAT.Bubble_Sort`` will be preferable.
|
|
783
|
|
784 .. _`GNAT.Bubble_Sort_G_(g-busorg.ads)`:
|
|
785
|
|
786 ``GNAT.Bubble_Sort_G`` (:file:`g-busorg.ads`)
|
|
787 =============================================
|
|
788
|
|
789 .. index:: GNAT.Bubble_Sort_G (g-busorg.ads)
|
|
790
|
|
791 .. index:: Sorting
|
|
792
|
|
793 .. index:: Bubble sort
|
|
794
|
|
795 Similar to ``Bubble_Sort_A`` except that the move and sorting procedures
|
|
796 are provided as generic parameters, this improves efficiency, especially
|
|
797 if the procedures can be inlined, at the expense of duplicating code for
|
|
798 multiple instantiations.
|
|
799
|
|
800 .. _`GNAT.Byte_Order_Mark_(g-byorma.ads)`:
|
|
801
|
|
802 ``GNAT.Byte_Order_Mark`` (:file:`g-byorma.ads`)
|
|
803 ===============================================
|
|
804
|
|
805 .. index:: GNAT.Byte_Order_Mark (g-byorma.ads)
|
|
806
|
|
807 .. index:: UTF-8 representation
|
|
808
|
|
809 .. index:: Wide characte representations
|
|
810
|
|
811 Provides a routine which given a string, reads the start of the string to
|
|
812 see whether it is one of the standard byte order marks (BOM's) which signal
|
|
813 the encoding of the string. The routine includes detection of special XML
|
|
814 sequences for various UCS input formats.
|
|
815
|
|
816 .. _`GNAT.Byte_Swapping_(g-bytswa.ads)`:
|
|
817
|
|
818 ``GNAT.Byte_Swapping`` (:file:`g-bytswa.ads`)
|
|
819 =============================================
|
|
820
|
|
821 .. index:: GNAT.Byte_Swapping (g-bytswa.ads)
|
|
822
|
|
823 .. index:: Byte swapping
|
|
824
|
|
825 .. index:: Endianness
|
|
826
|
|
827 General routines for swapping the bytes in 2-, 4-, and 8-byte quantities.
|
|
828 Machine-specific implementations are available in some cases.
|
|
829
|
|
830 .. _`GNAT.Calendar_(g-calend.ads)`:
|
|
831
|
|
832 ``GNAT.Calendar`` (:file:`g-calend.ads`)
|
|
833 ========================================
|
|
834
|
|
835 .. index:: GNAT.Calendar (g-calend.ads)
|
|
836
|
|
837 .. index:: Calendar
|
|
838
|
|
839 Extends the facilities provided by ``Ada.Calendar`` to include handling
|
|
840 of days of the week, an extended ``Split`` and ``Time_Of`` capability.
|
|
841 Also provides conversion of ``Ada.Calendar.Time`` values to and from the
|
|
842 C ``timeval`` format.
|
|
843
|
|
844 .. _`GNAT.Calendar.Time_IO_(g-catiio.ads)`:
|
|
845
|
|
846 ``GNAT.Calendar.Time_IO`` (:file:`g-catiio.ads`)
|
|
847 ================================================
|
|
848
|
|
849 .. index:: Calendar
|
|
850
|
|
851 .. index:: Time
|
|
852
|
|
853 .. index:: GNAT.Calendar.Time_IO (g-catiio.ads)
|
|
854
|
|
855 .. _`GNAT.CRC32_(g-crc32.ads)`:
|
|
856
|
|
857 ``GNAT.CRC32`` (:file:`g-crc32.ads`)
|
|
858 ====================================
|
|
859
|
|
860 .. index:: GNAT.CRC32 (g-crc32.ads)
|
|
861
|
|
862 .. index:: CRC32
|
|
863
|
|
864 .. index:: Cyclic Redundancy Check
|
|
865
|
|
866 This package implements the CRC-32 algorithm. For a full description
|
|
867 of this algorithm see
|
|
868 *Computation of Cyclic Redundancy Checks via Table Look-Up*,
|
|
869 :title:`Communications of the ACM`, Vol. 31 No. 8, pp. 1008-1013,
|
|
870 Aug. 1988. Sarwate, D.V.
|
|
871
|
|
872 .. _`GNAT.Case_Util_(g-casuti.ads)`:
|
|
873
|
|
874 ``GNAT.Case_Util`` (:file:`g-casuti.ads`)
|
|
875 =========================================
|
|
876
|
|
877 .. index:: GNAT.Case_Util (g-casuti.ads)
|
|
878
|
|
879 .. index:: Casing utilities
|
|
880
|
|
881 .. index:: Character handling (``GNAT.Case_Util``)
|
|
882
|
|
883 A set of simple routines for handling upper and lower casing of strings
|
|
884 without the overhead of the full casing tables
|
|
885 in ``Ada.Characters.Handling``.
|
|
886
|
|
887 .. _`GNAT.CGI_(g-cgi.ads)`:
|
|
888
|
|
889 ``GNAT.CGI`` (:file:`g-cgi.ads`)
|
|
890 ================================
|
|
891
|
|
892 .. index:: GNAT.CGI (g-cgi.ads)
|
|
893
|
|
894 .. index:: CGI (Common Gateway Interface)
|
|
895
|
|
896 This is a package for interfacing a GNAT program with a Web server via the
|
|
897 Common Gateway Interface (CGI). Basically this package parses the CGI
|
|
898 parameters, which are a set of key/value pairs sent by the Web server. It
|
|
899 builds a table whose index is the key and provides some services to deal
|
|
900 with this table.
|
|
901
|
|
902 .. _`GNAT.CGI.Cookie_(g-cgicoo.ads)`:
|
|
903
|
|
904 ``GNAT.CGI.Cookie`` (:file:`g-cgicoo.ads`)
|
|
905 ==========================================
|
|
906
|
|
907 .. index:: GNAT.CGI.Cookie (g-cgicoo.ads)
|
|
908
|
|
909 .. index:: CGI (Common Gateway Interface) cookie support
|
|
910
|
|
911 .. index:: Cookie support in CGI
|
|
912
|
|
913 This is a package to interface a GNAT program with a Web server via the
|
|
914 Common Gateway Interface (CGI). It exports services to deal with Web
|
|
915 cookies (piece of information kept in the Web client software).
|
|
916
|
|
917 .. _`GNAT.CGI.Debug_(g-cgideb.ads)`:
|
|
918
|
|
919 ``GNAT.CGI.Debug`` (:file:`g-cgideb.ads`)
|
|
920 =========================================
|
|
921
|
|
922 .. index:: GNAT.CGI.Debug (g-cgideb.ads)
|
|
923
|
|
924 .. index:: CGI (Common Gateway Interface) debugging
|
|
925
|
|
926 This is a package to help debugging CGI (Common Gateway Interface)
|
|
927 programs written in Ada.
|
|
928
|
|
929 .. _`GNAT.Command_Line_(g-comlin.ads)`:
|
|
930
|
|
931 ``GNAT.Command_Line`` (:file:`g-comlin.ads`)
|
|
932 ============================================
|
|
933
|
|
934 .. index:: GNAT.Command_Line (g-comlin.ads)
|
|
935
|
|
936 .. index:: Command line
|
|
937
|
|
938 Provides a high level interface to ``Ada.Command_Line`` facilities,
|
|
939 including the ability to scan for named switches with optional parameters
|
|
940 and expand file names using wild card notations.
|
|
941
|
|
942 .. _`GNAT.Compiler_Version_(g-comver.ads)`:
|
|
943
|
|
944 ``GNAT.Compiler_Version`` (:file:`g-comver.ads`)
|
|
945 ================================================
|
|
946
|
|
947 .. index:: GNAT.Compiler_Version (g-comver.ads)
|
|
948
|
|
949 .. index:: Compiler Version
|
|
950
|
|
951 .. index:: Version, of compiler
|
|
952
|
|
953 Provides a routine for obtaining the version of the compiler used to
|
|
954 compile the program. More accurately this is the version of the binder
|
|
955 used to bind the program (this will normally be the same as the version
|
|
956 of the compiler if a consistent tool set is used to compile all units
|
|
957 of a partition).
|
|
958
|
|
959 .. _`GNAT.Ctrl_C_(g-ctrl_c.ads)`:
|
|
960
|
|
961 ``GNAT.Ctrl_C`` (:file:`g-ctrl_c.ads`)
|
|
962 ======================================
|
|
963
|
|
964 .. index:: GNAT.Ctrl_C (g-ctrl_c.ads)
|
|
965
|
|
966 .. index:: Interrupt
|
|
967
|
|
968 Provides a simple interface to handle Ctrl-C keyboard events.
|
|
969
|
|
970 .. _`GNAT.Current_Exception_(g-curexc.ads)`:
|
|
971
|
|
972 ``GNAT.Current_Exception`` (:file:`g-curexc.ads`)
|
|
973 =================================================
|
|
974
|
|
975 .. index:: GNAT.Current_Exception (g-curexc.ads)
|
|
976
|
|
977 .. index:: Current exception
|
|
978
|
|
979 .. index:: Exception retrieval
|
|
980
|
|
981 Provides access to information on the current exception that has been raised
|
|
982 without the need for using the Ada 95 / Ada 2005 exception choice parameter
|
|
983 specification syntax.
|
|
984 This is particularly useful in simulating typical facilities for
|
|
985 obtaining information about exceptions provided by Ada 83 compilers.
|
|
986
|
|
987 .. _`GNAT.Debug_Pools_(g-debpoo.ads)`:
|
|
988
|
|
989 ``GNAT.Debug_Pools`` (:file:`g-debpoo.ads`)
|
|
990 ===========================================
|
|
991
|
|
992 .. index:: GNAT.Debug_Pools (g-debpoo.ads)
|
|
993
|
|
994 .. index:: Debugging
|
|
995
|
|
996 .. index:: Debug pools
|
|
997
|
|
998 .. index:: Memory corruption debugging
|
|
999
|
|
1000 Provide a debugging storage pools that helps tracking memory corruption
|
|
1001 problems.
|
|
1002 See ``The GNAT Debug_Pool Facility`` section in the :title:`GNAT User's Guide`.
|
|
1003
|
|
1004 .. _`GNAT.Debug_Utilities_(g-debuti.ads)`:
|
|
1005
|
|
1006 ``GNAT.Debug_Utilities`` (:file:`g-debuti.ads`)
|
|
1007 ===============================================
|
|
1008
|
|
1009 .. index:: GNAT.Debug_Utilities (g-debuti.ads)
|
|
1010
|
|
1011 .. index:: Debugging
|
|
1012
|
|
1013 Provides a few useful utilities for debugging purposes, including conversion
|
|
1014 to and from string images of address values. Supports both C and Ada formats
|
|
1015 for hexadecimal literals.
|
|
1016
|
|
1017 .. _`GNAT.Decode_String_(g-decstr.ads)`:
|
|
1018
|
|
1019 ``GNAT.Decode_String`` (:file:`g-decstr.ads`)
|
|
1020 =============================================
|
|
1021
|
|
1022 .. index:: GNAT.Decode_String (g-decstr.ads)
|
|
1023
|
|
1024 .. index:: Decoding strings
|
|
1025
|
|
1026 .. index:: String decoding
|
|
1027
|
|
1028 .. index:: Wide character encoding
|
|
1029
|
|
1030 .. index:: UTF-8
|
|
1031
|
|
1032 .. index:: Unicode
|
|
1033
|
|
1034 A generic package providing routines for decoding wide character and wide wide
|
|
1035 character strings encoded as sequences of 8-bit characters using a specified
|
|
1036 encoding method. Includes validation routines, and also routines for stepping
|
|
1037 to next or previous encoded character in an encoded string.
|
|
1038 Useful in conjunction with Unicode character coding. Note there is a
|
|
1039 preinstantiation for UTF-8. See next entry.
|
|
1040
|
|
1041 .. _`GNAT.Decode_UTF8_String_(g-deutst.ads)`:
|
|
1042
|
|
1043 ``GNAT.Decode_UTF8_String`` (:file:`g-deutst.ads`)
|
|
1044 ==================================================
|
|
1045
|
|
1046 .. index:: GNAT.Decode_UTF8_String (g-deutst.ads)
|
|
1047
|
|
1048 .. index:: Decoding strings
|
|
1049
|
|
1050 .. index:: Decoding UTF-8 strings
|
|
1051
|
|
1052 .. index:: UTF-8 string decoding
|
|
1053
|
|
1054 .. index:: Wide character decoding
|
|
1055
|
|
1056 .. index:: UTF-8
|
|
1057
|
|
1058 .. index:: Unicode
|
|
1059
|
|
1060 A preinstantiation of GNAT.Decode_Strings for UTF-8 encoding.
|
|
1061
|
|
1062 .. _`GNAT.Directory_Operations_(g-dirope.ads)`:
|
|
1063
|
|
1064 ``GNAT.Directory_Operations`` (:file:`g-dirope.ads`)
|
|
1065 ====================================================
|
|
1066
|
|
1067 .. index:: GNAT.Directory_Operations (g-dirope.ads)
|
|
1068
|
|
1069 .. index:: Directory operations
|
|
1070
|
|
1071 Provides a set of routines for manipulating directories, including changing
|
|
1072 the current directory, making new directories, and scanning the files in a
|
|
1073 directory.
|
|
1074
|
|
1075 .. _`GNAT.Directory_Operations.Iteration_(g-diopit.ads)`:
|
|
1076
|
|
1077 ``GNAT.Directory_Operations.Iteration`` (:file:`g-diopit.ads`)
|
|
1078 ==============================================================
|
|
1079
|
|
1080 .. index:: GNAT.Directory_Operations.Iteration (g-diopit.ads)
|
|
1081
|
|
1082 .. index:: Directory operations iteration
|
|
1083
|
|
1084 A child unit of GNAT.Directory_Operations providing additional operations
|
|
1085 for iterating through directories.
|
|
1086
|
|
1087 .. _`GNAT.Dynamic_HTables_(g-dynhta.ads)`:
|
|
1088
|
|
1089 ``GNAT.Dynamic_HTables`` (:file:`g-dynhta.ads`)
|
|
1090 ===============================================
|
|
1091
|
|
1092 .. index:: GNAT.Dynamic_HTables (g-dynhta.ads)
|
|
1093
|
|
1094 .. index:: Hash tables
|
|
1095
|
|
1096 A generic implementation of hash tables that can be used to hash arbitrary
|
|
1097 data. Provided in two forms, a simple form with built in hash functions,
|
|
1098 and a more complex form in which the hash function is supplied.
|
|
1099
|
|
1100 This package provides a facility similar to that of ``GNAT.HTable``,
|
|
1101 except that this package declares a type that can be used to define
|
|
1102 dynamic instances of the hash table, while an instantiation of
|
|
1103 ``GNAT.HTable`` creates a single instance of the hash table.
|
|
1104
|
|
1105 .. _`GNAT.Dynamic_Tables_(g-dyntab.ads)`:
|
|
1106
|
|
1107 ``GNAT.Dynamic_Tables`` (:file:`g-dyntab.ads`)
|
|
1108 ==============================================
|
|
1109
|
|
1110 .. index:: GNAT.Dynamic_Tables (g-dyntab.ads)
|
|
1111
|
|
1112 .. index:: Table implementation
|
|
1113
|
|
1114 .. index:: Arrays, extendable
|
|
1115
|
|
1116 A generic package providing a single dimension array abstraction where the
|
|
1117 length of the array can be dynamically modified.
|
|
1118
|
|
1119 This package provides a facility similar to that of ``GNAT.Table``,
|
|
1120 except that this package declares a type that can be used to define
|
|
1121 dynamic instances of the table, while an instantiation of
|
|
1122 ``GNAT.Table`` creates a single instance of the table type.
|
|
1123
|
|
1124 .. _`GNAT.Encode_String_(g-encstr.ads)`:
|
|
1125
|
|
1126 ``GNAT.Encode_String`` (:file:`g-encstr.ads`)
|
|
1127 =============================================
|
|
1128
|
|
1129 .. index:: GNAT.Encode_String (g-encstr.ads)
|
|
1130
|
|
1131 .. index:: Encoding strings
|
|
1132
|
|
1133 .. index:: String encoding
|
|
1134
|
|
1135 .. index:: Wide character encoding
|
|
1136
|
|
1137 .. index:: UTF-8
|
|
1138
|
|
1139 .. index:: Unicode
|
|
1140
|
|
1141 A generic package providing routines for encoding wide character and wide
|
|
1142 wide character strings as sequences of 8-bit characters using a specified
|
|
1143 encoding method. Useful in conjunction with Unicode character coding.
|
|
1144 Note there is a preinstantiation for UTF-8. See next entry.
|
|
1145
|
|
1146 .. _`GNAT.Encode_UTF8_String_(g-enutst.ads)`:
|
|
1147
|
|
1148 ``GNAT.Encode_UTF8_String`` (:file:`g-enutst.ads`)
|
|
1149 ==================================================
|
|
1150
|
|
1151 .. index:: GNAT.Encode_UTF8_String (g-enutst.ads)
|
|
1152
|
|
1153 .. index:: Encoding strings
|
|
1154
|
|
1155 .. index:: Encoding UTF-8 strings
|
|
1156
|
|
1157 .. index:: UTF-8 string encoding
|
|
1158
|
|
1159 .. index:: Wide character encoding
|
|
1160
|
|
1161 .. index:: UTF-8
|
|
1162
|
|
1163 .. index:: Unicode
|
|
1164
|
|
1165 A preinstantiation of GNAT.Encode_Strings for UTF-8 encoding.
|
|
1166
|
|
1167 .. _`GNAT.Exception_Actions_(g-excact.ads)`:
|
|
1168
|
|
1169 ``GNAT.Exception_Actions`` (:file:`g-excact.ads`)
|
|
1170 =================================================
|
|
1171
|
|
1172 .. index:: GNAT.Exception_Actions (g-excact.ads)
|
|
1173
|
|
1174 .. index:: Exception actions
|
|
1175
|
|
1176 Provides callbacks when an exception is raised. Callbacks can be registered
|
|
1177 for specific exceptions, or when any exception is raised. This
|
|
1178 can be used for instance to force a core dump to ease debugging.
|
|
1179
|
|
1180 .. _`GNAT.Exception_Traces_(g-exctra.ads)`:
|
|
1181
|
|
1182 ``GNAT.Exception_Traces`` (:file:`g-exctra.ads`)
|
|
1183 ================================================
|
|
1184
|
|
1185 .. index:: GNAT.Exception_Traces (g-exctra.ads)
|
|
1186
|
|
1187 .. index:: Exception traces
|
|
1188
|
|
1189 .. index:: Debugging
|
|
1190
|
|
1191 Provides an interface allowing to control automatic output upon exception
|
|
1192 occurrences.
|
|
1193
|
131
|
1194 .. _`GNAT.Exceptions_(g-except.ads)`:
|
|
1195
|
|
1196 ``GNAT.Exceptions`` (:file:`g-except.ads`)
|
111
|
1197 ==========================================
|
|
1198
|
131
|
1199 .. index:: GNAT.Exceptions (g-except.ads)
|
111
|
1200
|
|
1201 .. index:: Exceptions, Pure
|
|
1202
|
|
1203 .. index:: Pure packages, exceptions
|
|
1204
|
|
1205 Normally it is not possible to raise an exception with
|
|
1206 a message from a subprogram in a pure package, since the
|
|
1207 necessary types and subprograms are in ``Ada.Exceptions``
|
|
1208 which is not a pure unit. ``GNAT.Exceptions`` provides a
|
|
1209 facility for getting around this limitation for a few
|
|
1210 predefined exceptions, and for example allow raising
|
|
1211 ``Constraint_Error`` with a message from a pure subprogram.
|
|
1212
|
|
1213 .. _`GNAT.Expect_(g-expect.ads)`:
|
|
1214
|
|
1215 ``GNAT.Expect`` (:file:`g-expect.ads`)
|
|
1216 ======================================
|
|
1217
|
|
1218 .. index:: GNAT.Expect (g-expect.ads)
|
|
1219
|
|
1220 Provides a set of subprograms similar to what is available
|
|
1221 with the standard Tcl Expect tool.
|
|
1222 It allows you to easily spawn and communicate with an external process.
|
|
1223 You can send commands or inputs to the process, and compare the output
|
|
1224 with some expected regular expression. Currently ``GNAT.Expect``
|
|
1225 is implemented on all native GNAT ports.
|
|
1226 It is not implemented for cross ports, and in particular is not
|
|
1227 implemented for VxWorks or LynxOS.
|
|
1228
|
|
1229 .. _`GNAT.Expect.TTY_(g-exptty.ads)`:
|
|
1230
|
|
1231 ``GNAT.Expect.TTY`` (:file:`g-exptty.ads`)
|
|
1232 ==========================================
|
|
1233
|
|
1234 .. index:: GNAT.Expect.TTY (g-exptty.ads)
|
|
1235
|
|
1236 As GNAT.Expect but using pseudo-terminal.
|
|
1237 Currently ``GNAT.Expect.TTY`` is implemented on all native GNAT
|
|
1238 ports. It is not implemented for cross ports, and
|
|
1239 in particular is not implemented for VxWorks or LynxOS.
|
|
1240
|
|
1241 .. _`GNAT.Float_Control_(g-flocon.ads)`:
|
|
1242
|
|
1243 ``GNAT.Float_Control`` (:file:`g-flocon.ads`)
|
|
1244 =============================================
|
|
1245
|
|
1246 .. index:: GNAT.Float_Control (g-flocon.ads)
|
|
1247
|
|
1248 .. index:: Floating-Point Processor
|
|
1249
|
|
1250 Provides an interface for resetting the floating-point processor into the
|
|
1251 mode required for correct semantic operation in Ada. Some third party
|
|
1252 library calls may cause this mode to be modified, and the Reset procedure
|
|
1253 in this package can be used to reestablish the required mode.
|
|
1254
|
|
1255 .. _`GNAT.Formatted_String_(g-forstr.ads)`:
|
|
1256
|
|
1257 ``GNAT.Formatted_String`` (:file:`g-forstr.ads`)
|
|
1258 ================================================
|
|
1259
|
|
1260 .. index:: GNAT.Formatted_String (g-forstr.ads)
|
|
1261
|
|
1262 .. index:: Formatted String
|
|
1263
|
|
1264 Provides support for C/C++ printf() formatted strings. The format is
|
|
1265 copied from the printf() routine and should therefore gives identical
|
|
1266 output. Some generic routines are provided to be able to use types
|
|
1267 derived from Integer, Float or enumerations as values for the
|
|
1268 formatted string.
|
|
1269
|
|
1270 .. _`GNAT.Heap_Sort_(g-heasor.ads)`:
|
|
1271
|
|
1272 ``GNAT.Heap_Sort`` (:file:`g-heasor.ads`)
|
|
1273 =========================================
|
|
1274
|
|
1275 .. index:: GNAT.Heap_Sort (g-heasor.ads)
|
|
1276
|
|
1277 .. index:: Sorting
|
|
1278
|
|
1279 Provides a general implementation of heap sort usable for sorting arbitrary
|
|
1280 data items. Exchange and comparison procedures are provided by passing
|
|
1281 access-to-procedure values. The algorithm used is a modified heap sort
|
|
1282 that performs approximately N*log(N) comparisons in the worst case.
|
|
1283
|
|
1284 .. _`GNAT.Heap_Sort_A_(g-hesora.ads)`:
|
|
1285
|
|
1286 ``GNAT.Heap_Sort_A`` (:file:`g-hesora.ads`)
|
|
1287 ===========================================
|
|
1288
|
|
1289 .. index:: GNAT.Heap_Sort_A (g-hesora.ads)
|
|
1290
|
|
1291 .. index:: Sorting
|
|
1292
|
|
1293 Provides a general implementation of heap sort usable for sorting arbitrary
|
|
1294 data items. Move and comparison procedures are provided by passing
|
|
1295 access-to-procedure values. The algorithm used is a modified heap sort
|
|
1296 that performs approximately N*log(N) comparisons in the worst case.
|
|
1297 This differs from ``GNAT.Heap_Sort`` in having a less convenient
|
|
1298 interface, but may be slightly more efficient.
|
|
1299
|
|
1300 .. _`GNAT.Heap_Sort_G_(g-hesorg.ads)`:
|
|
1301
|
|
1302 ``GNAT.Heap_Sort_G`` (:file:`g-hesorg.ads`)
|
|
1303 ===========================================
|
|
1304
|
|
1305 .. index:: GNAT.Heap_Sort_G (g-hesorg.ads)
|
|
1306
|
|
1307 .. index:: Sorting
|
|
1308
|
|
1309 Similar to ``Heap_Sort_A`` except that the move and sorting procedures
|
|
1310 are provided as generic parameters, this improves efficiency, especially
|
|
1311 if the procedures can be inlined, at the expense of duplicating code for
|
|
1312 multiple instantiations.
|
|
1313
|
|
1314 .. _`GNAT.HTable_(g-htable.ads)`:
|
|
1315
|
|
1316 ``GNAT.HTable`` (:file:`g-htable.ads`)
|
|
1317 ======================================
|
|
1318
|
|
1319 .. index:: GNAT.HTable (g-htable.ads)
|
|
1320
|
|
1321 .. index:: Hash tables
|
|
1322
|
|
1323 A generic implementation of hash tables that can be used to hash arbitrary
|
|
1324 data. Provides two approaches, one a simple static approach, and the other
|
|
1325 allowing arbitrary dynamic hash tables.
|
|
1326
|
|
1327 .. _`GNAT.IO_(g-io.ads)`:
|
|
1328
|
|
1329 ``GNAT.IO`` (:file:`g-io.ads`)
|
|
1330 ==============================
|
|
1331
|
|
1332 .. index:: GNAT.IO (g-io.ads)
|
|
1333
|
|
1334 .. index:: Simple I/O
|
|
1335
|
|
1336 .. index:: Input/Output facilities
|
|
1337
|
|
1338 A simple preelaborable input-output package that provides a subset of
|
|
1339 simple Text_IO functions for reading characters and strings from
|
|
1340 Standard_Input, and writing characters, strings and integers to either
|
|
1341 Standard_Output or Standard_Error.
|
|
1342
|
|
1343 .. _`GNAT.IO_Aux_(g-io_aux.ads)`:
|
|
1344
|
|
1345 ``GNAT.IO_Aux`` (:file:`g-io_aux.ads`)
|
|
1346 ======================================
|
|
1347
|
|
1348 .. index:: GNAT.IO_Aux (g-io_aux.ads)
|
|
1349
|
|
1350 .. index:: Text_IO
|
|
1351
|
|
1352 .. index:: Input/Output facilities
|
|
1353
|
|
1354 Provides some auxiliary functions for use with Text_IO, including a test
|
|
1355 for whether a file exists, and functions for reading a line of text.
|
|
1356
|
|
1357 .. _`GNAT.Lock_Files_(g-locfil.ads)`:
|
|
1358
|
|
1359 ``GNAT.Lock_Files`` (:file:`g-locfil.ads`)
|
|
1360 ==========================================
|
|
1361
|
|
1362 .. index:: GNAT.Lock_Files (g-locfil.ads)
|
|
1363
|
|
1364 .. index:: File locking
|
|
1365
|
|
1366 .. index:: Locking using files
|
|
1367
|
|
1368 Provides a general interface for using files as locks. Can be used for
|
|
1369 providing program level synchronization.
|
|
1370
|
|
1371 .. _`GNAT.MBBS_Discrete_Random_(g-mbdira.ads)`:
|
|
1372
|
|
1373 ``GNAT.MBBS_Discrete_Random`` (:file:`g-mbdira.ads`)
|
|
1374 ====================================================
|
|
1375
|
|
1376 .. index:: GNAT.MBBS_Discrete_Random (g-mbdira.ads)
|
|
1377
|
|
1378 .. index:: Random number generation
|
|
1379
|
|
1380 The original implementation of ``Ada.Numerics.Discrete_Random``. Uses
|
|
1381 a modified version of the Blum-Blum-Shub generator.
|
|
1382
|
|
1383 .. _`GNAT.MBBS_Float_Random_(g-mbflra.ads)`:
|
|
1384
|
|
1385 ``GNAT.MBBS_Float_Random`` (:file:`g-mbflra.ads`)
|
|
1386 =================================================
|
|
1387
|
|
1388 .. index:: GNAT.MBBS_Float_Random (g-mbflra.ads)
|
|
1389
|
|
1390 .. index:: Random number generation
|
|
1391
|
|
1392 The original implementation of ``Ada.Numerics.Float_Random``. Uses
|
|
1393 a modified version of the Blum-Blum-Shub generator.
|
|
1394
|
|
1395 .. _`GNAT.MD5_(g-md5.ads)`:
|
|
1396
|
|
1397 ``GNAT.MD5`` (:file:`g-md5.ads`)
|
|
1398 ================================
|
|
1399
|
|
1400 .. index:: GNAT.MD5 (g-md5.ads)
|
|
1401
|
|
1402 .. index:: Message Digest MD5
|
|
1403
|
|
1404 Implements the MD5 Message-Digest Algorithm as described in RFC 1321, and
|
|
1405 the HMAC-MD5 message authentication function as described in RFC 2104 and
|
|
1406 FIPS PUB 198.
|
|
1407
|
|
1408 .. _`GNAT.Memory_Dump_(g-memdum.ads)`:
|
|
1409
|
|
1410 ``GNAT.Memory_Dump`` (:file:`g-memdum.ads`)
|
|
1411 ===========================================
|
|
1412
|
|
1413 .. index:: GNAT.Memory_Dump (g-memdum.ads)
|
|
1414
|
|
1415 .. index:: Dump Memory
|
|
1416
|
|
1417 Provides a convenient routine for dumping raw memory to either the
|
|
1418 standard output or standard error files. Uses GNAT.IO for actual
|
|
1419 output.
|
|
1420
|
|
1421 .. _`GNAT.Most_Recent_Exception_(g-moreex.ads)`:
|
|
1422
|
|
1423 ``GNAT.Most_Recent_Exception`` (:file:`g-moreex.ads`)
|
|
1424 =====================================================
|
|
1425
|
|
1426 .. index:: GNAT.Most_Recent_Exception (g-moreex.ads)
|
|
1427
|
|
1428 .. index:: Exception, obtaining most recent
|
|
1429
|
|
1430 Provides access to the most recently raised exception. Can be used for
|
|
1431 various logging purposes, including duplicating functionality of some
|
|
1432 Ada 83 implementation dependent extensions.
|
|
1433
|
|
1434 .. _`GNAT.OS_Lib_(g-os_lib.ads)`:
|
|
1435
|
|
1436 ``GNAT.OS_Lib`` (:file:`g-os_lib.ads`)
|
|
1437 ======================================
|
|
1438
|
|
1439 .. index:: GNAT.OS_Lib (g-os_lib.ads)
|
|
1440
|
|
1441 .. index:: Operating System interface
|
|
1442
|
|
1443 .. index:: Spawn capability
|
|
1444
|
|
1445 Provides a range of target independent operating system interface functions,
|
|
1446 including time/date management, file operations, subprocess management,
|
|
1447 including a portable spawn procedure, and access to environment variables
|
|
1448 and error return codes.
|
|
1449
|
|
1450 .. _`GNAT.Perfect_Hash_Generators_(g-pehage.ads)`:
|
|
1451
|
|
1452 ``GNAT.Perfect_Hash_Generators`` (:file:`g-pehage.ads`)
|
|
1453 =======================================================
|
|
1454
|
|
1455 .. index:: GNAT.Perfect_Hash_Generators (g-pehage.ads)
|
|
1456
|
|
1457 .. index:: Hash functions
|
|
1458
|
|
1459 Provides a generator of static minimal perfect hash functions. No
|
|
1460 collisions occur and each item can be retrieved from the table in one
|
|
1461 probe (perfect property). The hash table size corresponds to the exact
|
|
1462 size of the key set and no larger (minimal property). The key set has to
|
|
1463 be know in advance (static property). The hash functions are also order
|
|
1464 preserving. If w2 is inserted after w1 in the generator, their
|
|
1465 hashcode are in the same order. These hashing functions are very
|
|
1466 convenient for use with realtime applications.
|
|
1467
|
|
1468 .. _`GNAT.Random_Numbers_(g-rannum.ads)`:
|
|
1469
|
|
1470 ``GNAT.Random_Numbers`` (:file:`g-rannum.ads`)
|
|
1471 ==============================================
|
|
1472
|
|
1473 .. index:: GNAT.Random_Numbers (g-rannum.ads)
|
|
1474
|
|
1475 .. index:: Random number generation
|
|
1476
|
|
1477 Provides random number capabilities which extend those available in the
|
|
1478 standard Ada library and are more convenient to use.
|
|
1479
|
|
1480 .. _`GNAT.Regexp_(g-regexp.ads)`:
|
|
1481
|
|
1482 ``GNAT.Regexp`` (:file:`g-regexp.ads`)
|
|
1483 ======================================
|
|
1484
|
|
1485 .. index:: GNAT.Regexp (g-regexp.ads)
|
|
1486
|
|
1487 .. index:: Regular expressions
|
|
1488
|
|
1489 .. index:: Pattern matching
|
|
1490
|
|
1491 A simple implementation of regular expressions, using a subset of regular
|
|
1492 expression syntax copied from familiar Unix style utilities. This is the
|
|
1493 simplest of the three pattern matching packages provided, and is particularly
|
|
1494 suitable for 'file globbing' applications.
|
|
1495
|
|
1496 .. _`GNAT.Registry_(g-regist.ads)`:
|
|
1497
|
|
1498 ``GNAT.Registry`` (:file:`g-regist.ads`)
|
|
1499 ========================================
|
|
1500
|
|
1501 .. index:: GNAT.Registry (g-regist.ads)
|
|
1502
|
|
1503 .. index:: Windows Registry
|
|
1504
|
|
1505 This is a high level binding to the Windows registry. It is possible to
|
|
1506 do simple things like reading a key value, creating a new key. For full
|
|
1507 registry API, but at a lower level of abstraction, refer to the Win32.Winreg
|
|
1508 package provided with the Win32Ada binding
|
|
1509
|
|
1510 .. _`GNAT.Regpat_(g-regpat.ads)`:
|
|
1511
|
|
1512 ``GNAT.Regpat`` (:file:`g-regpat.ads`)
|
|
1513 ======================================
|
|
1514
|
|
1515 .. index:: GNAT.Regpat (g-regpat.ads)
|
|
1516
|
|
1517 .. index:: Regular expressions
|
|
1518
|
|
1519 .. index:: Pattern matching
|
|
1520
|
|
1521 A complete implementation of Unix-style regular expression matching, copied
|
|
1522 from the original V7 style regular expression library written in C by
|
|
1523 Henry Spencer (and binary compatible with this C library).
|
|
1524
|
|
1525 .. _`GNAT.Rewrite_Data_(g-rewdat.ads)`:
|
|
1526
|
|
1527 ``GNAT.Rewrite_Data`` (:file:`g-rewdat.ads`)
|
|
1528 ============================================
|
|
1529
|
|
1530 .. index:: GNAT.Rewrite_Data (g-rewdat.ads)
|
|
1531
|
|
1532 .. index:: Rewrite data
|
|
1533
|
|
1534 A unit to rewrite on-the-fly string occurrences in a stream of
|
|
1535 data. The implementation has a very minimal memory footprint as the
|
|
1536 full content to be processed is not loaded into memory all at once. This makes
|
|
1537 this interface usable for large files or socket streams.
|
|
1538
|
|
1539 .. _`GNAT.Secondary_Stack_Info_(g-sestin.ads)`:
|
|
1540
|
|
1541 ``GNAT.Secondary_Stack_Info`` (:file:`g-sestin.ads`)
|
|
1542 ====================================================
|
|
1543
|
|
1544 .. index:: GNAT.Secondary_Stack_Info (g-sestin.ads)
|
|
1545
|
|
1546 .. index:: Secondary Stack Info
|
|
1547
|
|
1548 Provide the capability to query the high water mark of the current task's
|
|
1549 secondary stack.
|
|
1550
|
|
1551 .. _`GNAT.Semaphores_(g-semaph.ads)`:
|
|
1552
|
|
1553 ``GNAT.Semaphores`` (:file:`g-semaph.ads`)
|
|
1554 ==========================================
|
|
1555
|
|
1556 .. index:: GNAT.Semaphores (g-semaph.ads)
|
|
1557
|
|
1558 .. index:: Semaphores
|
|
1559
|
|
1560 Provides classic counting and binary semaphores using protected types.
|
|
1561
|
|
1562 .. _`GNAT.Serial_Communications_(g-sercom.ads)`:
|
|
1563
|
|
1564 ``GNAT.Serial_Communications`` (:file:`g-sercom.ads`)
|
|
1565 =====================================================
|
|
1566
|
|
1567 .. index:: GNAT.Serial_Communications (g-sercom.ads)
|
|
1568
|
|
1569 .. index:: Serial_Communications
|
|
1570
|
|
1571 Provides a simple interface to send and receive data over a serial
|
|
1572 port. This is only supported on GNU/Linux and Windows.
|
|
1573
|
|
1574 .. _`GNAT.SHA1_(g-sha1.ads)`:
|
|
1575
|
|
1576 ``GNAT.SHA1`` (:file:`g-sha1.ads`)
|
|
1577 ==================================
|
|
1578
|
|
1579 .. index:: GNAT.SHA1 (g-sha1.ads)
|
|
1580
|
|
1581 .. index:: Secure Hash Algorithm SHA-1
|
|
1582
|
|
1583 Implements the SHA-1 Secure Hash Algorithm as described in FIPS PUB 180-3
|
|
1584 and RFC 3174, and the HMAC-SHA1 message authentication function as described
|
|
1585 in RFC 2104 and FIPS PUB 198.
|
|
1586
|
|
1587 .. _`GNAT.SHA224_(g-sha224.ads)`:
|
|
1588
|
|
1589 ``GNAT.SHA224`` (:file:`g-sha224.ads`)
|
|
1590 ======================================
|
|
1591
|
|
1592 .. index:: GNAT.SHA224 (g-sha224.ads)
|
|
1593
|
|
1594 .. index:: Secure Hash Algorithm SHA-224
|
|
1595
|
|
1596 Implements the SHA-224 Secure Hash Algorithm as described in FIPS PUB 180-3,
|
|
1597 and the HMAC-SHA224 message authentication function as described
|
|
1598 in RFC 2104 and FIPS PUB 198.
|
|
1599
|
|
1600 .. _`GNAT.SHA256_(g-sha256.ads)`:
|
|
1601
|
|
1602 ``GNAT.SHA256`` (:file:`g-sha256.ads`)
|
|
1603 ======================================
|
|
1604
|
|
1605 .. index:: GNAT.SHA256 (g-sha256.ads)
|
|
1606
|
|
1607 .. index:: Secure Hash Algorithm SHA-256
|
|
1608
|
|
1609 Implements the SHA-256 Secure Hash Algorithm as described in FIPS PUB 180-3,
|
|
1610 and the HMAC-SHA256 message authentication function as described
|
|
1611 in RFC 2104 and FIPS PUB 198.
|
|
1612
|
|
1613 .. _`GNAT.SHA384_(g-sha384.ads)`:
|
|
1614
|
|
1615 ``GNAT.SHA384`` (:file:`g-sha384.ads`)
|
|
1616 ======================================
|
|
1617
|
|
1618 .. index:: GNAT.SHA384 (g-sha384.ads)
|
|
1619
|
|
1620 .. index:: Secure Hash Algorithm SHA-384
|
|
1621
|
|
1622 Implements the SHA-384 Secure Hash Algorithm as described in FIPS PUB 180-3,
|
|
1623 and the HMAC-SHA384 message authentication function as described
|
|
1624 in RFC 2104 and FIPS PUB 198.
|
|
1625
|
|
1626 .. _`GNAT.SHA512_(g-sha512.ads)`:
|
|
1627
|
|
1628 ``GNAT.SHA512`` (:file:`g-sha512.ads`)
|
|
1629 ======================================
|
|
1630
|
|
1631 .. index:: GNAT.SHA512 (g-sha512.ads)
|
|
1632
|
|
1633 .. index:: Secure Hash Algorithm SHA-512
|
|
1634
|
|
1635 Implements the SHA-512 Secure Hash Algorithm as described in FIPS PUB 180-3,
|
|
1636 and the HMAC-SHA512 message authentication function as described
|
|
1637 in RFC 2104 and FIPS PUB 198.
|
|
1638
|
|
1639 .. _`GNAT.Signals_(g-signal.ads)`:
|
|
1640
|
|
1641 ``GNAT.Signals`` (:file:`g-signal.ads`)
|
|
1642 =======================================
|
|
1643
|
|
1644 .. index:: GNAT.Signals (g-signal.ads)
|
|
1645
|
|
1646 .. index:: Signals
|
|
1647
|
|
1648 Provides the ability to manipulate the blocked status of signals on supported
|
|
1649 targets.
|
|
1650
|
|
1651 .. _`GNAT.Sockets_(g-socket.ads)`:
|
|
1652
|
|
1653 ``GNAT.Sockets`` (:file:`g-socket.ads`)
|
|
1654 =======================================
|
|
1655
|
|
1656 .. index:: GNAT.Sockets (g-socket.ads)
|
|
1657
|
|
1658 .. index:: Sockets
|
|
1659
|
|
1660 A high level and portable interface to develop sockets based applications.
|
|
1661 This package is based on the sockets thin binding found in
|
|
1662 ``GNAT.Sockets.Thin``. Currently ``GNAT.Sockets`` is implemented
|
|
1663 on all native GNAT ports and on VxWorks cross prots. It is not implemented for
|
|
1664 the LynxOS cross port.
|
|
1665
|
|
1666 .. _`GNAT.Source_Info_(g-souinf.ads)`:
|
|
1667
|
|
1668 ``GNAT.Source_Info`` (:file:`g-souinf.ads`)
|
|
1669 ===========================================
|
|
1670
|
|
1671 .. index:: GNAT.Source_Info (g-souinf.ads)
|
|
1672
|
|
1673 .. index:: Source Information
|
|
1674
|
|
1675 Provides subprograms that give access to source code information known at
|
|
1676 compile time, such as the current file name and line number. Also provides
|
|
1677 subprograms yielding the date and time of the current compilation (like the
|
|
1678 C macros ``__DATE__`` and ``__TIME__``)
|
|
1679
|
|
1680 .. _`GNAT.Spelling_Checker_(g-speche.ads)`:
|
|
1681
|
|
1682 ``GNAT.Spelling_Checker`` (:file:`g-speche.ads`)
|
|
1683 ================================================
|
|
1684
|
|
1685 .. index:: GNAT.Spelling_Checker (g-speche.ads)
|
|
1686
|
|
1687 .. index:: Spell checking
|
|
1688
|
|
1689 Provides a function for determining whether one string is a plausible
|
|
1690 near misspelling of another string.
|
|
1691
|
|
1692 .. _`GNAT.Spelling_Checker_Generic_(g-spchge.ads)`:
|
|
1693
|
|
1694 ``GNAT.Spelling_Checker_Generic`` (:file:`g-spchge.ads`)
|
|
1695 ========================================================
|
|
1696
|
|
1697 .. index:: GNAT.Spelling_Checker_Generic (g-spchge.ads)
|
|
1698
|
|
1699 .. index:: Spell checking
|
|
1700
|
|
1701 Provides a generic function that can be instantiated with a string type for
|
|
1702 determining whether one string is a plausible near misspelling of another
|
|
1703 string.
|
|
1704
|
|
1705 .. _`GNAT.Spitbol.Patterns_(g-spipat.ads)`:
|
|
1706
|
|
1707 ``GNAT.Spitbol.Patterns`` (:file:`g-spipat.ads`)
|
|
1708 ================================================
|
|
1709
|
|
1710 .. index:: GNAT.Spitbol.Patterns (g-spipat.ads)
|
|
1711
|
|
1712 .. index:: SPITBOL pattern matching
|
|
1713
|
|
1714 .. index:: Pattern matching
|
|
1715
|
|
1716 A complete implementation of SNOBOL4 style pattern matching. This is the
|
|
1717 most elaborate of the pattern matching packages provided. It fully duplicates
|
|
1718 the SNOBOL4 dynamic pattern construction and matching capabilities, using the
|
|
1719 efficient algorithm developed by Robert Dewar for the SPITBOL system.
|
|
1720
|
|
1721 .. _`GNAT.Spitbol_(g-spitbo.ads)`:
|
|
1722
|
|
1723 ``GNAT.Spitbol`` (:file:`g-spitbo.ads`)
|
|
1724 =======================================
|
|
1725
|
|
1726 .. index:: GNAT.Spitbol (g-spitbo.ads)
|
|
1727
|
|
1728 .. index:: SPITBOL interface
|
|
1729
|
|
1730 The top level package of the collection of SPITBOL-style functionality, this
|
|
1731 package provides basic SNOBOL4 string manipulation functions, such as
|
|
1732 Pad, Reverse, Trim, Substr capability, as well as a generic table function
|
|
1733 useful for constructing arbitrary mappings from strings in the style of
|
|
1734 the SNOBOL4 TABLE function.
|
|
1735
|
|
1736 .. _`GNAT.Spitbol.Table_Boolean_(g-sptabo.ads)`:
|
|
1737
|
|
1738 ``GNAT.Spitbol.Table_Boolean`` (:file:`g-sptabo.ads`)
|
|
1739 =====================================================
|
|
1740
|
|
1741 .. index:: GNAT.Spitbol.Table_Boolean (g-sptabo.ads)
|
|
1742
|
|
1743 .. index:: Sets of strings
|
|
1744
|
|
1745 .. index:: SPITBOL Tables
|
|
1746
|
|
1747 A library level of instantiation of ``GNAT.Spitbol.Patterns.Table``
|
|
1748 for type ``Standard.Boolean``, giving an implementation of sets of
|
|
1749 string values.
|
|
1750
|
|
1751 .. _`GNAT.Spitbol.Table_Integer_(g-sptain.ads)`:
|
|
1752
|
|
1753 ``GNAT.Spitbol.Table_Integer`` (:file:`g-sptain.ads`)
|
|
1754 =====================================================
|
|
1755
|
|
1756 .. index:: GNAT.Spitbol.Table_Integer (g-sptain.ads)
|
|
1757
|
|
1758 .. index:: Integer maps
|
|
1759
|
|
1760 .. index:: Maps
|
|
1761
|
|
1762 .. index:: SPITBOL Tables
|
|
1763
|
|
1764 A library level of instantiation of ``GNAT.Spitbol.Patterns.Table``
|
|
1765 for type ``Standard.Integer``, giving an implementation of maps
|
|
1766 from string to integer values.
|
|
1767
|
|
1768 .. _`GNAT.Spitbol.Table_VString_(g-sptavs.ads)`:
|
|
1769
|
|
1770 ``GNAT.Spitbol.Table_VString`` (:file:`g-sptavs.ads`)
|
|
1771 =====================================================
|
|
1772
|
|
1773 .. index:: GNAT.Spitbol.Table_VString (g-sptavs.ads)
|
|
1774
|
|
1775 .. index:: String maps
|
|
1776
|
|
1777 .. index:: Maps
|
|
1778
|
|
1779 .. index:: SPITBOL Tables
|
|
1780
|
|
1781 A library level of instantiation of ``GNAT.Spitbol.Patterns.Table`` for
|
|
1782 a variable length string type, giving an implementation of general
|
|
1783 maps from strings to strings.
|
|
1784
|
|
1785 .. _`GNAT.SSE_(g-sse.ads)`:
|
|
1786
|
|
1787 ``GNAT.SSE`` (:file:`g-sse.ads`)
|
|
1788 ================================
|
|
1789
|
|
1790 .. index:: GNAT.SSE (g-sse.ads)
|
|
1791
|
|
1792 Root of a set of units aimed at offering Ada bindings to a subset of
|
|
1793 the Intel(r) Streaming SIMD Extensions with GNAT on the x86 family of
|
|
1794 targets. It exposes vector component types together with a general
|
|
1795 introduction to the binding contents and use.
|
|
1796
|
|
1797 .. _`GNAT.SSE.Vector_Types_(g-ssvety.ads)`:
|
|
1798
|
|
1799 ``GNAT.SSE.Vector_Types`` (:file:`g-ssvety.ads`)
|
|
1800 ================================================
|
|
1801
|
|
1802 .. index:: GNAT.SSE.Vector_Types (g-ssvety.ads)
|
|
1803
|
|
1804 SSE vector types for use with SSE related intrinsics.
|
|
1805
|
|
1806 .. _`GNAT.String_Hash(g-strhas.ads)`:
|
|
1807
|
|
1808 ``GNAT.String_Hash`` (:file:`g-strhas.ads`)
|
|
1809 ===========================================
|
|
1810
|
|
1811 .. index:: GNAT.String_Hash (g-strhas.ads)
|
|
1812
|
|
1813 .. index:: Hash functions
|
|
1814
|
|
1815 Provides a generic hash function working on arrays of scalars. Both the scalar
|
|
1816 type and the hash result type are parameters.
|
|
1817
|
|
1818 .. _`GNAT.Strings_(g-string.ads)`:
|
|
1819
|
|
1820 ``GNAT.Strings`` (:file:`g-string.ads`)
|
|
1821 =======================================
|
|
1822
|
|
1823 .. index:: GNAT.Strings (g-string.ads)
|
|
1824
|
|
1825 Common String access types and related subprograms. Basically it
|
|
1826 defines a string access and an array of string access types.
|
|
1827
|
|
1828 .. _`GNAT.String_Split_(g-strspl.ads)`:
|
|
1829
|
|
1830 ``GNAT.String_Split`` (:file:`g-strspl.ads`)
|
|
1831 ============================================
|
|
1832
|
|
1833 .. index:: GNAT.String_Split (g-strspl.ads)
|
|
1834
|
|
1835 .. index:: String splitter
|
|
1836
|
|
1837 Useful string manipulation routines: given a set of separators, split
|
|
1838 a string wherever the separators appear, and provide direct access
|
|
1839 to the resulting slices. This package is instantiated from
|
|
1840 ``GNAT.Array_Split``.
|
|
1841
|
|
1842 .. _`GNAT.Table_(g-table.ads)`:
|
|
1843
|
|
1844 ``GNAT.Table`` (:file:`g-table.ads`)
|
|
1845 ====================================
|
|
1846
|
|
1847 .. index:: GNAT.Table (g-table.ads)
|
|
1848
|
|
1849 .. index:: Table implementation
|
|
1850
|
|
1851 .. index:: Arrays, extendable
|
|
1852
|
|
1853 A generic package providing a single dimension array abstraction where the
|
|
1854 length of the array can be dynamically modified.
|
|
1855
|
|
1856 This package provides a facility similar to that of ``GNAT.Dynamic_Tables``,
|
|
1857 except that this package declares a single instance of the table type,
|
|
1858 while an instantiation of ``GNAT.Dynamic_Tables`` creates a type that can be
|
|
1859 used to define dynamic instances of the table.
|
|
1860
|
|
1861 .. _`GNAT.Task_Lock_(g-tasloc.ads)`:
|
|
1862
|
|
1863 ``GNAT.Task_Lock`` (:file:`g-tasloc.ads`)
|
|
1864 =========================================
|
|
1865
|
|
1866 .. index:: GNAT.Task_Lock (g-tasloc.ads)
|
|
1867
|
|
1868 .. index:: Task synchronization
|
|
1869
|
|
1870 .. index:: Task locking
|
|
1871
|
|
1872 .. index:: Locking
|
|
1873
|
|
1874 A very simple facility for locking and unlocking sections of code using a
|
|
1875 single global task lock. Appropriate for use in situations where contention
|
|
1876 between tasks is very rarely expected.
|
|
1877
|
|
1878 .. _`GNAT.Time_Stamp_(g-timsta.ads)`:
|
|
1879
|
|
1880 ``GNAT.Time_Stamp`` (:file:`g-timsta.ads`)
|
|
1881 ==========================================
|
|
1882
|
|
1883 .. index:: GNAT.Time_Stamp (g-timsta.ads)
|
|
1884
|
|
1885 .. index:: Time stamp
|
|
1886
|
|
1887 .. index:: Current time
|
|
1888
|
|
1889 Provides a simple function that returns a string YYYY-MM-DD HH:MM:SS.SS that
|
|
1890 represents the current date and time in ISO 8601 format. This is a very simple
|
|
1891 routine with minimal code and there are no dependencies on any other unit.
|
|
1892
|
|
1893 .. _`GNAT.Threads_(g-thread.ads)`:
|
|
1894
|
|
1895 ``GNAT.Threads`` (:file:`g-thread.ads`)
|
|
1896 =======================================
|
|
1897
|
|
1898 .. index:: GNAT.Threads (g-thread.ads)
|
|
1899
|
|
1900 .. index:: Foreign threads
|
|
1901
|
|
1902 .. index:: Threads, foreign
|
|
1903
|
|
1904 Provides facilities for dealing with foreign threads which need to be known
|
|
1905 by the GNAT run-time system. Consult the documentation of this package for
|
|
1906 further details if your program has threads that are created by a non-Ada
|
|
1907 environment which then accesses Ada code.
|
|
1908
|
|
1909 .. _`GNAT.Traceback_(g-traceb.ads)`:
|
|
1910
|
|
1911 ``GNAT.Traceback`` (:file:`g-traceb.ads`)
|
|
1912 =========================================
|
|
1913
|
|
1914 .. index:: GNAT.Traceback (g-traceb.ads)
|
|
1915
|
|
1916 .. index:: Trace back facilities
|
|
1917
|
|
1918 Provides a facility for obtaining non-symbolic traceback information, useful
|
|
1919 in various debugging situations.
|
|
1920
|
|
1921 .. _`GNAT.Traceback.Symbolic_(g-trasym.ads)`:
|
|
1922
|
|
1923 ``GNAT.Traceback.Symbolic`` (:file:`g-trasym.ads`)
|
|
1924 ==================================================
|
|
1925
|
|
1926 .. index:: GNAT.Traceback.Symbolic (g-trasym.ads)
|
|
1927
|
|
1928 .. index:: Trace back facilities
|
|
1929
|
|
1930 .. _`GNAT.UTF_32_(g-table.ads)`:
|
|
1931
|
|
1932 ``GNAT.UTF_32`` (:file:`g-table.ads`)
|
|
1933 =====================================
|
|
1934
|
|
1935 .. index:: GNAT.UTF_32 (g-table.ads)
|
|
1936
|
|
1937 .. index:: Wide character codes
|
|
1938
|
|
1939 This is a package intended to be used in conjunction with the
|
|
1940 ``Wide_Character`` type in Ada 95 and the
|
|
1941 ``Wide_Wide_Character`` type in Ada 2005 (available
|
|
1942 in ``GNAT`` in Ada 2005 mode). This package contains
|
|
1943 Unicode categorization routines, as well as lexical
|
|
1944 categorization routines corresponding to the Ada 2005
|
|
1945 lexical rules for identifiers and strings, and also a
|
|
1946 lower case to upper case fold routine corresponding to
|
|
1947 the Ada 2005 rules for identifier equivalence.
|
|
1948
|
|
1949 .. _`GNAT.Wide_Spelling_Checker_(g-u3spch.ads)`:
|
|
1950
|
|
1951 ``GNAT.Wide_Spelling_Checker`` (:file:`g-u3spch.ads`)
|
|
1952 =====================================================
|
|
1953
|
|
1954 .. index:: GNAT.Wide_Spelling_Checker (g-u3spch.ads)
|
|
1955
|
|
1956 .. index:: Spell checking
|
|
1957
|
|
1958 Provides a function for determining whether one wide wide string is a plausible
|
|
1959 near misspelling of another wide wide string, where the strings are represented
|
|
1960 using the UTF_32_String type defined in System.Wch_Cnv.
|
|
1961
|
|
1962 .. _`GNAT.Wide_Spelling_Checker_(g-wispch.ads)`:
|
|
1963
|
|
1964 ``GNAT.Wide_Spelling_Checker`` (:file:`g-wispch.ads`)
|
|
1965 =====================================================
|
|
1966
|
|
1967 .. index:: GNAT.Wide_Spelling_Checker (g-wispch.ads)
|
|
1968
|
|
1969 .. index:: Spell checking
|
|
1970
|
|
1971 Provides a function for determining whether one wide string is a plausible
|
|
1972 near misspelling of another wide string.
|
|
1973
|
|
1974 .. _`GNAT.Wide_String_Split_(g-wistsp.ads)`:
|
|
1975
|
|
1976 ``GNAT.Wide_String_Split`` (:file:`g-wistsp.ads`)
|
|
1977 =================================================
|
|
1978
|
|
1979 .. index:: GNAT.Wide_String_Split (g-wistsp.ads)
|
|
1980
|
|
1981 .. index:: Wide_String splitter
|
|
1982
|
|
1983 Useful wide string manipulation routines: given a set of separators, split
|
|
1984 a wide string wherever the separators appear, and provide direct access
|
|
1985 to the resulting slices. This package is instantiated from
|
|
1986 ``GNAT.Array_Split``.
|
|
1987
|
|
1988 .. _`GNAT.Wide_Wide_Spelling_Checker_(g-zspche.ads)`:
|
|
1989
|
|
1990 ``GNAT.Wide_Wide_Spelling_Checker`` (:file:`g-zspche.ads`)
|
|
1991 ==========================================================
|
|
1992
|
|
1993 .. index:: GNAT.Wide_Wide_Spelling_Checker (g-zspche.ads)
|
|
1994
|
|
1995 .. index:: Spell checking
|
|
1996
|
|
1997 Provides a function for determining whether one wide wide string is a plausible
|
|
1998 near misspelling of another wide wide string.
|
|
1999
|
|
2000 .. _`GNAT.Wide_Wide_String_Split_(g-zistsp.ads)`:
|
|
2001
|
|
2002 ``GNAT.Wide_Wide_String_Split`` (:file:`g-zistsp.ads`)
|
|
2003 ======================================================
|
|
2004
|
|
2005 .. index:: GNAT.Wide_Wide_String_Split (g-zistsp.ads)
|
|
2006
|
|
2007 .. index:: Wide_Wide_String splitter
|
|
2008
|
|
2009 Useful wide wide string manipulation routines: given a set of separators, split
|
|
2010 a wide wide string wherever the separators appear, and provide direct access
|
|
2011 to the resulting slices. This package is instantiated from
|
|
2012 ``GNAT.Array_Split``.
|
|
2013
|
|
2014 .. _`Interfaces.C.Extensions_(i-cexten.ads)`:
|
|
2015
|
|
2016 ``Interfaces.C.Extensions`` (:file:`i-cexten.ads`)
|
|
2017 ==================================================
|
|
2018
|
|
2019 .. index:: Interfaces.C.Extensions (i-cexten.ads)
|
|
2020
|
|
2021 This package contains additional C-related definitions, intended
|
|
2022 for use with either manually or automatically generated bindings
|
|
2023 to C libraries.
|
|
2024
|
|
2025 .. _`Interfaces.C.Streams_(i-cstrea.ads)`:
|
|
2026
|
|
2027 ``Interfaces.C.Streams`` (:file:`i-cstrea.ads`)
|
|
2028 ===============================================
|
|
2029
|
|
2030 .. index:: Interfaces.C.Streams (i-cstrea.ads)
|
|
2031
|
|
2032 .. index:: C streams, interfacing
|
|
2033
|
|
2034 This package is a binding for the most commonly used operations
|
|
2035 on C streams.
|
|
2036
|
|
2037 .. _`Interfaces.Packed_Decimal_(i-pacdec.ads)`:
|
|
2038
|
|
2039 ``Interfaces.Packed_Decimal`` (:file:`i-pacdec.ads`)
|
|
2040 ====================================================
|
|
2041
|
|
2042 .. index:: Interfaces.Packed_Decimal (i-pacdec.ads)
|
|
2043
|
|
2044 .. index:: IBM Packed Format
|
|
2045
|
|
2046 .. index:: Packed Decimal
|
|
2047
|
|
2048 This package provides a set of routines for conversions to and
|
|
2049 from a packed decimal format compatible with that used on IBM
|
|
2050 mainframes.
|
|
2051
|
|
2052 .. _`Interfaces.VxWorks_(i-vxwork.ads)`:
|
|
2053
|
|
2054 ``Interfaces.VxWorks`` (:file:`i-vxwork.ads`)
|
|
2055 =============================================
|
|
2056
|
|
2057 .. index:: Interfaces.VxWorks (i-vxwork.ads)
|
|
2058
|
|
2059 .. index:: Interfacing to VxWorks
|
|
2060
|
|
2061 .. index:: VxWorks, interfacing
|
|
2062
|
|
2063 This package provides a limited binding to the VxWorks API.
|
|
2064 In particular, it interfaces with the
|
|
2065 VxWorks hardware interrupt facilities.
|
|
2066
|
|
2067 .. _`Interfaces.VxWorks.Int_Connection_(i-vxinco.ads)`:
|
|
2068
|
|
2069 ``Interfaces.VxWorks.Int_Connection`` (:file:`i-vxinco.ads`)
|
|
2070 ============================================================
|
|
2071
|
|
2072 .. index:: Interfaces.VxWorks.Int_Connection (i-vxinco.ads)
|
|
2073
|
|
2074 .. index:: Interfacing to VxWorks
|
|
2075
|
|
2076 .. index:: VxWorks, interfacing
|
|
2077
|
|
2078 This package provides a way for users to replace the use of
|
|
2079 intConnect() with a custom routine for installing interrupt
|
|
2080 handlers.
|
|
2081
|
|
2082 .. _`Interfaces.VxWorks.IO_(i-vxwoio.ads)`:
|
|
2083
|
|
2084 ``Interfaces.VxWorks.IO`` (:file:`i-vxwoio.ads`)
|
|
2085 ================================================
|
|
2086
|
|
2087 .. index:: Interfaces.VxWorks.IO (i-vxwoio.ads)
|
|
2088
|
|
2089 .. index:: Interfacing to VxWorks' I/O
|
|
2090
|
|
2091 .. index:: VxWorks, I/O interfacing
|
|
2092
|
|
2093 .. index:: VxWorks, Get_Immediate
|
|
2094
|
|
2095 .. index:: Get_Immediate, VxWorks
|
|
2096
|
|
2097 This package provides a binding to the ioctl (IO/Control)
|
|
2098 function of VxWorks, defining a set of option values and
|
|
2099 function codes. A particular use of this package is
|
|
2100 to enable the use of Get_Immediate under VxWorks.
|
|
2101
|
|
2102 .. _`System.Address_Image_(s-addima.ads)`:
|
|
2103
|
|
2104 ``System.Address_Image`` (:file:`s-addima.ads`)
|
|
2105 ===============================================
|
|
2106
|
|
2107 .. index:: System.Address_Image (s-addima.ads)
|
|
2108
|
|
2109 .. index:: Address image
|
|
2110
|
|
2111 .. index:: Image, of an address
|
|
2112
|
|
2113 This function provides a useful debugging
|
|
2114 function that gives an (implementation dependent)
|
|
2115 string which identifies an address.
|
|
2116
|
|
2117 .. _`System.Assertions_(s-assert.ads)`:
|
|
2118
|
|
2119 ``System.Assertions`` (:file:`s-assert.ads`)
|
|
2120 ============================================
|
|
2121
|
|
2122 .. index:: System.Assertions (s-assert.ads)
|
|
2123
|
|
2124 .. index:: Assertions
|
|
2125
|
|
2126 .. index:: Assert_Failure, exception
|
|
2127
|
|
2128 This package provides the declaration of the exception raised
|
|
2129 by an run-time assertion failure, as well as the routine that
|
|
2130 is used internally to raise this assertion.
|
|
2131
|
|
2132 .. _`System.Atomic_Counters_(s-atocou.ads)`:
|
|
2133
|
|
2134 ``System.Atomic_Counters`` (:file:`s-atocou.ads`)
|
|
2135 =================================================
|
|
2136
|
|
2137 .. index:: System.Atomic_Counters (s-atocou.ads)
|
|
2138
|
|
2139 This package provides the declaration of an atomic counter type,
|
|
2140 together with efficient routines (using hardware
|
|
2141 synchronization primitives) for incrementing, decrementing,
|
|
2142 and testing of these counters. This package is implemented
|
|
2143 on most targets, including all Alpha, ia64, PowerPC, SPARC V9,
|
|
2144 x86, and x86_64 platforms.
|
|
2145
|
|
2146 .. _`System.Memory_(s-memory.ads)`:
|
|
2147
|
|
2148 ``System.Memory`` (:file:`s-memory.ads`)
|
|
2149 ========================================
|
|
2150
|
|
2151 .. index:: System.Memory (s-memory.ads)
|
|
2152
|
|
2153 .. index:: Memory allocation
|
|
2154
|
|
2155 This package provides the interface to the low level routines used
|
|
2156 by the generated code for allocation and freeing storage for the
|
|
2157 default storage pool (analogous to the C routines malloc and free.
|
|
2158 It also provides a reallocation interface analogous to the C routine
|
|
2159 realloc. The body of this unit may be modified to provide alternative
|
|
2160 allocation mechanisms for the default pool, and in addition, direct
|
|
2161 calls to this unit may be made for low level allocation uses (for
|
|
2162 example see the body of ``GNAT.Tables``).
|
|
2163
|
|
2164 .. _`System.Multiprocessors_(s-multip.ads)`:
|
|
2165
|
|
2166 ``System.Multiprocessors`` (:file:`s-multip.ads`)
|
|
2167 =================================================
|
|
2168
|
|
2169 .. index:: System.Multiprocessors (s-multip.ads)
|
|
2170
|
|
2171 .. index:: Multiprocessor interface
|
|
2172
|
|
2173 This is an Ada 2012 unit defined in the Ada 2012 Reference Manual, but
|
|
2174 in GNAT we also make it available in Ada 95 and Ada 2005 (where it is
|
|
2175 technically an implementation-defined addition).
|
|
2176
|
|
2177 .. _`System.Multiprocessors.Dispatching_Domains_(s-mudido.ads)`:
|
|
2178
|
|
2179 ``System.Multiprocessors.Dispatching_Domains`` (:file:`s-mudido.ads`)
|
|
2180 =====================================================================
|
|
2181
|
|
2182 .. index:: System.Multiprocessors.Dispatching_Domains (s-mudido.ads)
|
|
2183
|
|
2184 .. index:: Multiprocessor interface
|
|
2185
|
|
2186 This is an Ada 2012 unit defined in the Ada 2012 Reference Manual, but
|
|
2187 in GNAT we also make it available in Ada 95 and Ada 2005 (where it is
|
|
2188 technically an implementation-defined addition).
|
|
2189
|
|
2190 .. _`System.Partition_Interface_(s-parint.ads)`:
|
|
2191
|
|
2192 ``System.Partition_Interface`` (:file:`s-parint.ads`)
|
|
2193 =====================================================
|
|
2194
|
|
2195 .. index:: System.Partition_Interface (s-parint.ads)
|
|
2196
|
|
2197 .. index:: Partition interfacing functions
|
|
2198
|
|
2199 This package provides facilities for partition interfacing. It
|
|
2200 is used primarily in a distribution context when using Annex E
|
|
2201 with ``GLADE``.
|
|
2202
|
|
2203 .. _`System.Pool_Global_(s-pooglo.ads)`:
|
|
2204
|
|
2205 ``System.Pool_Global`` (:file:`s-pooglo.ads`)
|
|
2206 =============================================
|
|
2207
|
|
2208 .. index:: System.Pool_Global (s-pooglo.ads)
|
|
2209
|
|
2210 .. index:: Storage pool, global
|
|
2211
|
|
2212 .. index:: Global storage pool
|
|
2213
|
|
2214 This package provides a storage pool that is equivalent to the default
|
|
2215 storage pool used for access types for which no pool is specifically
|
|
2216 declared. It uses malloc/free to allocate/free and does not attempt to
|
|
2217 do any automatic reclamation.
|
|
2218
|
|
2219 .. _`System.Pool_Local_(s-pooloc.ads)`:
|
|
2220
|
|
2221 ``System.Pool_Local`` (:file:`s-pooloc.ads`)
|
|
2222 ============================================
|
|
2223
|
|
2224 .. index:: System.Pool_Local (s-pooloc.ads)
|
|
2225
|
|
2226 .. index:: Storage pool, local
|
|
2227
|
|
2228 .. index:: Local storage pool
|
|
2229
|
|
2230 This package provides a storage pool that is intended for use with locally
|
|
2231 defined access types. It uses malloc/free for allocate/free, and maintains
|
|
2232 a list of allocated blocks, so that all storage allocated for the pool can
|
|
2233 be freed automatically when the pool is finalized.
|
|
2234
|
|
2235 .. _`System.Restrictions_(s-restri.ads)`:
|
|
2236
|
|
2237 ``System.Restrictions`` (:file:`s-restri.ads`)
|
|
2238 ==============================================
|
|
2239
|
|
2240 .. index:: System.Restrictions (s-restri.ads)
|
|
2241
|
|
2242 .. index:: Run-time restrictions access
|
|
2243
|
|
2244 This package provides facilities for accessing at run time
|
|
2245 the status of restrictions specified at compile time for
|
|
2246 the partition. Information is available both with regard
|
|
2247 to actual restrictions specified, and with regard to
|
|
2248 compiler determined information on which restrictions
|
|
2249 are violated by one or more packages in the partition.
|
|
2250
|
|
2251 .. _`System.Rident_(s-rident.ads)`:
|
|
2252
|
|
2253 ``System.Rident`` (:file:`s-rident.ads`)
|
|
2254 ========================================
|
|
2255
|
|
2256 .. index:: System.Rident (s-rident.ads)
|
|
2257
|
|
2258 .. index:: Restrictions definitions
|
|
2259
|
|
2260 This package provides definitions of the restrictions
|
|
2261 identifiers supported by GNAT, and also the format of
|
|
2262 the restrictions provided in package System.Restrictions.
|
|
2263 It is not normally necessary to ``with`` this generic package
|
|
2264 since the necessary instantiation is included in
|
|
2265 package System.Restrictions.
|
|
2266
|
|
2267 .. _`System.Strings.Stream_Ops_(s-ststop.ads)`:
|
|
2268
|
|
2269 ``System.Strings.Stream_Ops`` (:file:`s-ststop.ads`)
|
|
2270 ====================================================
|
|
2271
|
|
2272 .. index:: System.Strings.Stream_Ops (s-ststop.ads)
|
|
2273
|
|
2274 .. index:: Stream operations
|
|
2275
|
|
2276 .. index:: String stream operations
|
|
2277
|
|
2278 This package provides a set of stream subprograms for standard string types.
|
|
2279 It is intended primarily to support implicit use of such subprograms when
|
|
2280 stream attributes are applied to string types, but the subprograms in this
|
|
2281 package can be used directly by application programs.
|
|
2282
|
|
2283 .. _`System.Unsigned_Types_(s-unstyp.ads)`:
|
|
2284
|
|
2285 ``System.Unsigned_Types`` (:file:`s-unstyp.ads`)
|
|
2286 ================================================
|
|
2287
|
|
2288 .. index:: System.Unsigned_Types (s-unstyp.ads)
|
|
2289
|
|
2290 This package contains definitions of standard unsigned types that
|
|
2291 correspond in size to the standard signed types declared in Standard,
|
|
2292 and (unlike the types in Interfaces) have corresponding names. It
|
|
2293 also contains some related definitions for other specialized types
|
|
2294 used by the compiler in connection with packed array types.
|
|
2295
|
|
2296 .. _`System.Wch_Cnv_(s-wchcnv.ads)`:
|
|
2297
|
|
2298 ``System.Wch_Cnv`` (:file:`s-wchcnv.ads`)
|
|
2299 =========================================
|
|
2300
|
|
2301 .. index:: System.Wch_Cnv (s-wchcnv.ads)
|
|
2302
|
|
2303 .. index:: Wide Character, Representation
|
|
2304
|
|
2305 .. index:: Wide String, Conversion
|
|
2306
|
|
2307 .. index:: Representation of wide characters
|
|
2308
|
|
2309 This package provides routines for converting between
|
|
2310 wide and wide wide characters and a representation as a value of type
|
|
2311 ``Standard.String``, using a specified wide character
|
|
2312 encoding method. It uses definitions in
|
|
2313 package ``System.Wch_Con``.
|
|
2314
|
|
2315 .. _`System.Wch_Con_(s-wchcon.ads)`:
|
|
2316
|
|
2317 ``System.Wch_Con`` (:file:`s-wchcon.ads`)
|
|
2318 =========================================
|
|
2319
|
|
2320 .. index:: System.Wch_Con (s-wchcon.ads)
|
|
2321
|
|
2322 This package provides definitions and descriptions of
|
|
2323 the various methods used for encoding wide characters
|
|
2324 in ordinary strings. These definitions are used by
|
|
2325 the package ``System.Wch_Cnv``.
|