# Ada Programming/Libraries/Ada

The Ada package is only an anchor or namespace for Ada's standard library. Most compilers will not allow you to add new packages to the Ada hierarchy and even if your compiler allows it you should not do so since all package names starting with Ada. are reserved for future extensions.

## List of language defined child units

The following library units (packages and generic subprograms) are descendents of the package Ada.

### (Ada 2005)

    This package is available since Ada 2005.

### (Ada 2012)

    This package is available since Ada 2012.

### (Ada 2022)

    This package is available since Ada 2022.

### A – C

* Ada.Assertions (Ada 2005)
* Ada.Asynchronous_Task_Control
* Ada.Calendar
** Ada.Calendar.Arithmetic (Ada 2005)
** Ada.Calendar.Formatting (Ada 2005)
** Ada.Calendar.Time_Zones (Ada 2005)
* Ada.Characters
** Ada.Characters.Conversions (Ada 2005)
** Ada.Characters.Handling
** Ada.Characters.Latin_1
* Ada.Command_Line
* Ada.Complex_Text_IO (Ada 2005)
* Ada.Containers (Ada 2005)
** Ada.Containers.Bounded_Doubly_Linked_Lists (Ada 2012)
** Ada.Containers.Bounded_Hashed_Maps (Ada 2012)
** Ada.Containers.Bounded_Hashed_Sets (Ada 2012)
** Ada.Containers.Bounded_Indefinite_Holders (Ada 2022)
** Ada.Containers.Bounded_Multiway_Trees (Ada 2012)
** Ada.Containers.Bounded_Ordered_Maps (Ada 2012)
** Ada.Containers.Bounded_Ordered_Sets (Ada 2012)
** Ada.Containers.Bounded_Priority_Queues (Ada 2012)
** Ada.Containers.Bounded_Synchronized_Queues (Ada 2012)
** Ada.Containers.Bounded_Vectors (Ada 2012)
** Ada.Containers.Doubly_Linked_Lists (Ada 2005)
** Ada.Containers.Generic_Array_Sort (Ada 2005 generic procedure)
** Ada.Containers.Generic_Constrained_Array_Sort (Ada 2005 generic procedure)
** Ada.Containers.Generic_Sort (Ada 2012)
** Ada.Containers.Hashed_Maps (Ada 2005)
** Ada.Containers.Hashed_Sets (Ada 2005)
** Ada.Containers.Indefinite_Doubly_Linked_Lists (Ada 2005)
** Ada.Containers.Indefinite_Hashed_Maps (Ada 2005)
** Ada.Containers.Indefinite_Hashed_Sets (Ada 2005)
** Ada.Containers.Indefinite_Ordered_Maps (Ada 2005)
** Ada.Containers.Indefinite_Ordered_Sets (Ada 2005)
** Ada.Containers.Indefinite_Vectors (Ada 2005)
** Ada.Containers.Indefinite_Holders (Ada 2012)
** Ada.Containers.Indefinite_Multiway_Trees (Ada 2012)
** Ada.Containers.Multiway_Trees (Ada 2012)
** Ada.Containers.Ordered_Maps (Ada 2005)
** Ada.Containers.Ordered_Sets (Ada 2005)
** Ada.Containers.Synchronized_Queue_Interfaces (Ada 2012)
** Ada.Containers.Unbounded_Priority_Queues (Ada 2012)
** Ada.Containers.Unbounded_Synchronized_Queues (Ada 2012)
** Ada.Containers.Vectors (Ada 2005)

### D – F

* Ada.Decimal
* Ada.Direct_IO
* Ada.Directories (Ada 2005)
** Ada.Directories.Hierarchical_File_Names (Ada 2012)
** Ada.Directories.Information (Ada 2005)
* Ada.Dispatching (Ada 2005)
** Ada.Dispatching.EDF (Ada 2005)
** Ada.Dispatching.Non_Preemptive (Ada 2012)
** Ada.Dispatching.Round_Robin (Ada 2005)
* Ada.Dynamic_Priorities
* Ada.Environment_Variables (Ada 2005)
* Ada.Exceptions
* Ada.Execution_Time (Ada 2005)
** Ada.Execution_Time.Interrupts (Ada 2012)
** Ada.Execution_Time.Timers (Ada 2005)
** Ada.Execution_Time.Group_Budgets (Ada 2005)
* Ada.Finalization
* Ada.Float_Text_IO
* Ada.Float_Wide_Text_IO
* Ada.Float_Wide_Wide_Text_IO (Ada 2005)

### G – R

* Ada.Integer_Text_IO
* Ada.Integer_Wide_Text_IO
* Ada.Integer_Wide_Wide_Text_IO (Ada 2005)
* Ada.Interrupts
** Ada.Interrupts.Names
* Ada.IO_Exceptions
* Ada.Iterator_Interfaces (Ada 2012)
* Ada.Locales (Ada 2012)
* Ada.Numerics
** Ada.Numerics.Big_Numbers (Ada 2022)
*** Ada.Numerics.Big_Numbers.Big_Integers (Ada 2022)
*** Ada.Numerics.Big_Numbers.Big_Reals (Ada 2022)
** Ada.Numerics.Complex_Arrays (Ada 2005)
** Ada.Numerics.Complex_Elementary_Functions
** Ada.Numerics.Complex_Types
** Ada.Numerics.Discrete_Random
** Ada.Numerics.Elementary_Functions
** Ada.Numerics.Float_Random
** Ada.Numerics.Generic_Complex_Arrays (Ada 2005)
** Ada.Numerics.Generic_Complex_Elementary_Functions
** Ada.Numerics.Generic_Complex_Types
** Ada.Numerics.Generic_Elementary_Functions
** Ada.Numerics.Generic_Real_Arrays (Ada 2005)
** Ada.Numerics.Real_Arrays (Ada 2005)

### R – S

* Ada.Real_Time
** Ada.Real_Time.Timing_Events (Ada 2005)
* Ada.Sequential_IO
* Ada.Storage_IO
* Ada.Streams
** Ada.Streams.Stream_IO
* Ada.Strings
** Ada.Strings.Bounded
*** Ada.Strings.Bounded.Hash (Ada 2005 generic function)
*** Ada.Strings.Bounded.Hash_Case_Insensitive (Ada 2012 generic function)
*** Ada.Strings.Bounded.Equal_Case_Insensitive (Ada 2012 generic function)
*** Ada.Strings.Bounded.Less_Case_Insensitive (Ada 2012 generic function)
** Ada.Strings.Fixed
*** Ada.Strings.Fixed.Hash (Ada 2005 function)
*** Ada.Strings.Fixed.Hash_Case_Insensitive (Ada 2012 function)
*** Ada.Strings.Fixed.Equal_Case_Insensitive (Ada 2012 function)
*** Ada.Strings.Fixed.Less_Case_Insensitive (Ada 2012 function)
** Ada.Strings.Hash (Ada 2005 function)
** Ada.Strings.Hash_Case_Insensitive (Ada 2012 function)
** Ada.Strings.Less_Case_Insensitive (Ada 2012 function)
** Ada.Strings.Equal_Case_Insensitive (Ada 2012 function)
** Ada.Strings.Maps
*** Ada.Strings.Maps.Constants
** Ada.Strings.Unbounded
*** Ada.Strings.Unbounded.Hash (Ada 2005 generic function)
*** Ada.Strings.Unbounded.Hash_Case_Insensitive (Ada 2012 function)
*** Ada.Strings.Unbounded.Equal_Case_Insensitive (Ada 2012 function)
*** Ada.Strings.Unbounded.Less_Case_Insensitive (Ada 2012 function)
** Ada.Strings.UTF_Encoding (Ada 2012)
*** Ada.Strings.UTF_Encoding.Conversions (Ada 2012)
*** Ada.Strings.UTF_Encoding.Strings (Ada 2012)
*** Ada.Strings.UTF_Encoding.Wide_Strings (Ada 2012)
*** Ada.Strings.UTF_Encoding.Wide_Wide_Strings (Ada 2012)
** Ada.Strings.Wide_Bounded
*** Ada.Strings.Wide_Bounded.Wide_Hash (Ada 2005 function)
** Ada.Strings.Wide_Fixed
*** Ada.Strings.Wide_Fixed.Wide_Hash (Ada 2005 function)
** Ada.Strings.Wide_Hash (Ada 2005 generic function)
** Ada.Strings.Wide_Maps
*** Ada.Strings.Wide_Maps.Wide_Constants
** Ada.Strings.Wide_Unbounded
*** Ada.Strings.Wide_Unbounded.Wide_Hash (Ada 2005 function)
** Ada.Strings.Wide_Wide_Bounded (Ada 2005)
*** Ada.Strings.Wide_Wide_Bounded.Wide_Wide_Hash (Ada 2005 generic function)
** Ada.Strings.Wide_Wide_Fixed (Ada 2005)
*** Ada.Strings.Wide_Wide_Fixed.Wide_Wide_Hash (Ada 2005 function)
** Ada.Strings.Wide_Wide_Hash (Ada 2005 generic function)
** Ada.Strings.Wide_Wide_Maps (Ada 2005)
*** Ada.Strings.Wide_Wide_Maps.Wide_Wide_Constants (Ada 2005)
** Ada.Strings.Wide_Wide_Unbounded (Ada 2005)
*** Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Hash (Ada 2005 function)
* Ada.Synchronous_Barriers (Ada 2012)
* Ada.Synchronous_Task_Control
** Ada.Synchronous_Task_Control.EDF (Ada 2012)

### T – U

* Ada.Tags
** Ada.Tags.Generic_Dispatching_Constructor (generic function)
* Ada.Task_Attributes
* Ada.Task_Identification
* Ada.Task_Termination (Ada 2005)
* Ada.Text_IO
** Ada.Text_IO.Bounded_IO (Ada 2005)
** Ada.Text_IO.Complex_IO
** Ada.Text_IO.Decimal_IO (Nested package of Ada.Text_IO)
** Ada.Text_IO.Editing
** Ada.Text_IO.Enumeration_IO (Nested package of Ada.Text_IO)
** Ada.Text_IO.Fixed_IO (Nested package of Ada.Text_IO)
** Ada.Text_IO.Float_IO (Nested package of Ada.Text_IO)
** Ada.Text_IO.Integer_IO (Nested package of Ada.Text_IO)
** Ada.Text_IO.Modular_IO (Nested package of Ada.Text_IO)
** Ada.Text_IO.Text_Streams
** Ada.Text_IO.Unbounded_IO (Ada 2005)
* Ada.Unchecked_Conversion (generic function)
* Ada.Unchecked_Deallocate_Subpool (Ada 2012 generic procedure)
* Ada.Unchecked_Deallocation (generic procedure)

### W – Z

* Ada.Wide_Characters (Ada 2005)
** Ada.Wide_Characters.Handling (Ada 2012)
* Ada.Wide_Text_IO
** Ada.Wide_Text_IO.Wide_Bounded_IO (Ada 2005)
** Ada.Wide_Text_IO.Complex_IO
** Ada.Wide_Text_IO.Decimal_IO (Nested package of Ada.Wide_Text_IO)
** Ada.Wide_Text_IO.Editing
** Ada.Wide_Text_IO.Enumeration_IO (Nested package of Ada.Wide_Text_IO)
** Ada.Wide_Text_IO.Fixed_IO (Nested package of Ada.Wide_Text_IO)
** Ada.Wide_Text_IO.Float_IO (Nested package of Ada.Wide_Text_IO)
** Ada.Wide_Text_IO.Integer_IO (Nested package of Ada.Wide_Text_IO)
** Ada.Wide_Text_IO.Modular_IO (Nested package of Ada.Wide_Text_IO)
** Ada.Wide_Text_IO.Text_Streams
** Ada.Wide_Text_IO.Wide_Unbounded_IO (Ada 2005)
* Ada.Wide_Wide_Characters (Ada 2005)
** Ada.Wide_Wide_Characters.Handling (Ada 2012)
* Ada.Wide_Wide_Text_IO (Ada 2005)
** Ada.Wide_Wide_Text_IO.Wide_Wide_Bounded_IO (Ada 2005)
** Ada.Wide_Wide_Text_IO.Complex_IO (Ada 2005)
** Ada.Wide_Wide_Text_IO.Decimal_IO (Nested package of Ada.Wide_Wide_Text_IO)
** Ada.Wide_Wide_Text_IO.Editing (Ada 2005)
** Ada.Wide_Wide_Text_IO.Enumeration_IO (Nested package of Ada.Wide_Wide_Text_IO)
** Ada.Wide_Wide_Text_IO.Fixed_IO (Nested package of Ada.Wide_Wide_Text_IO)
** Ada.Wide_Wide_Text_IO.Float_IO (Nested package of Ada.Wide_Wide_Text_IO)
** Ada.Wide_Wide_Text_IO.Integer_IO (Nested package of Ada.Wide_Wide_Text_IO)
** Ada.Wide_Wide_Text_IO.Modular_IO (Nested package of Ada.Wide_Wide_Text_IO)
** Ada.Wide_Wide_Text_IO.Text_Streams (Ada 2005)
** Ada.Wide_Wide_Text_IO.Wide_Wide_Unbounded_IO (Ada 2005)

## List of implementation defined child units

The Reference Manual allows compiler vendors to add extensions to the Standard Libraries. However, these extensions cannot be directly children of the package Ada, only grandchildren—for example Ada.Characters.Latin_9.
Currently, only the implementation defined library units of the GNAT compiler are listed here. You can help Wikibooks by adding implementation dependent packages of other compilers:

### GNAT

    Extended package implemented by GNAT.

### ObjectAda

    Extended package implemented by ObjectAda.

### APEX

    Extended package implemented by IBM/Rational APEX.

### A – K

* Ada.Characters.Latin_9 (GNAT)
* Ada.Characters.Wide_Latin_1 (GNAT)
* Ada.Characters.Wide_Latin_9 (GNAT)
* Ada.Characters.Wide_Wide_Latin_1 (GNAT)
* Ada.Characters.Wide_Wide_Latin_9 (GNAT)
* Ada.Command_Line.Environment (GNAT)
* Ada.Command_Line.Remove (GNAT)
* Ada.Direct_IO.C_Streams (GNAT)
* Ada.Exceptions.Is_Null_Occurrence (GNAT child function)
* Ada.Exceptions.Traceback (GNAT)

### L – Q

* Ada.Long_Float_Text_IO (GNAT)
* Ada.Long_Float_Wide_Text_IO (GNAT)
* Ada.Long_Integer_Text_IO (GNAT)
* Ada.Long_Integer_Wide_Text_IO (GNAT)
* Ada.Long_Long_Float_Text_IO (GNAT)
* Ada.Long_Long_Float_Wide_Text_IO (GNAT)
* Ada.Long_Long_Integer_Text_IO (GNAT)
* Ada.Long_Long_Integer_Wide_Text_IO (GNAT)
* Ada.Numerics.Long_Complex_Elementary_Functions (GNAT)
* Ada.Numerics.Long_Complex_Types (GNAT)
* Ada.Numerics.Long_Elementary_Functions (GNAT)
* Ada.Numerics.Long_Long_Complex_Elementary_Functions (GNAT)
* Ada.Numerics.Long_Long_Complex_Types (GNAT)
* Ada.Numerics.Long_Long_Elementary_Functions (GNAT)
* Ada.Numerics.Short_Complex_Elementary_Functions (GNAT)
* Ada.Numerics.Short_Complex_Types (GNAT)
* Ada.Numerics.Short_Elementary_Functions (GNAT)

### R – Z

* Ada.Sequential_IO.C_Streams (GNAT)
* Ada.Short_Float_Text_IO (GNAT)
* Ada.Short_Float_Wide_Text_IO (GNAT)
* Ada.Short_Integer_Text_IO (GNAT)
* Ada.Short_Integer_Wide_Text_IO (GNAT)
* Ada.Short_Short_Integer_Text_IO (GNAT)
* Ada.Short_Short_Integer_Wide_Text_IO (GNAT)
* Ada.Streams.Stream_IO.C_Streams (GNAT)
* Ada.Strings.Unbounded.Text_IO (GNAT)
* Ada.Strings.Wide_Unbounded.Wide_Text_IO (GNAT)
* Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Text_IO (GNAT)
* Ada.Text_IO.C_Streams (GNAT)
* Ada.Wide_Text_IO.C_Streams (GNAT)
* Ada.Wide_Wide_Text_IO.C_Streams (GNAT)

## See also
### Wikibook

* Ada Programming
* Ada Programming/Libraries
* Ada Programming/Libraries/Standard
* Ada Programming/Libraries/System
* Ada Programming/Libraries/Interfaces

### Ada Reference Manual

A.2: The Package Ada