This package creates usable debug output.
It is placed in the package Ada directly, therefore it does not need to write any additional "with" clause.
package Debug is
function File return String;
function Line return Positive;
function Source_Location return String;
function Enclosing_Entity return String;
function Compilation_ISO_Date return String;
function Compilation_Date return String;
function Compilation_Time return String;
procedure Put (
S : String;
Source_Location : String := Debug.Source_Location;
Enclosing_Entity : String := Debug.Enclosing_Entity);
function Put (
S : String;
Source_Location : String := Debug.Source_Location;
Enclosing_Entity : String := Debug.Enclosing_Entity)
return Boolean; -- always True to use in pragma Assert/Check
end Debug;
Assert reports the source location if it's called without a message.
-- procedure Assert (Check : Boolean);
-- procedure Assert (Check : Boolean; Message : String);
procedure Assert (
Check : Boolean;
Message : String := Debug.Source_Location);
procedure Raise_Assertion_Error (
Message : String := Debug.Source_Location);
-- function Day_of_Week (Date : Time) return Day_Name;
function Day_Of_Week (
Date : Time;
Time_Zone : Time_Zones.Time_Offset := 0) -- additional
return Day_Name;
This function returns seconds in a day (including the offset of the time zone).
function Seconds (Date : Time; Time_Zone : Time_Zones.Time_Offset := 0)
return Day_Duration;
The format of time-zone is "+00:00".
function Image (Time_Zone : Time_Zones.Time_Offset) return String;
function Value (Time_Zone : String) return Time_Zones.Time_Offset;
Use Is_Wide_String instead of Is_Wide_Character for multi-byte sequence.
Is_Wide_String checks if all code-points of Item can be converted to UTF-16 Wide_String (each code-point is in BMP or surrogate pair).
These functions Is_XXX_String assume Item contains a legal sequence.
function Is_Wide_Character (Item : Character) return Boolean;
function Is_Wide_String (Item : String) return Boolean;
Use Is_Wide_Wide_String instead of Is_Wide_Wide_Character for multi-byte sequence.
UTF-8 String can always be converted to UTF-32 Wide_Wide_String.
function Is_Wide_Wide_Character (Item : Character) return Boolean
renames Is_Wide_Character;
-- function Is_Wide_Wide_String (Item : String) return Boolean; -- True
Do not use Is_Wide_Wide_Character for surrogate pair.
UTF-16 Wide_String can always be converted to UTF-32 Wide_Wide_String.
function Is_Wide_Wide_Character (Item : Wide_Character) return Boolean;
-- function Is_Wide_Wide_String (Item : Wide_String) return Boolean; -- True
These functions use Substitute if Item contains illegal byte sequence.
function To_Wide_Character (
Item : Character;
Substitute : Wide_Character := ' ') -- additional
return Wide_Character;
function To_Wide_String (
Item : String;
Substitute : Wide_String := " ") -- additional
return Wide_String;
function To_Wide_Wide_Character (
Item : Character;
Substitute : Wide_Wide_Character := ' ') -- additional
return Wide_Wide_Character;
function To_Wide_Wide_String (
Item : String;
Substitute : Wide_Wide_String := " ") -- additional
return Wide_Wide_String;
function To_Wide_Wide_Character (
Item : Wide_Character;
Substitute : Wide_Wide_Character := ' ') -- additional
return Wide_Wide_Character;
function To_Wide_Wide_String (
Item : Wide_String;
Substitute : Wide_Wide_String := " ") -- additional
return Wide_Wide_String;
function To_String (
Item : Wide_String;
Substitute : String)
return String;
function To_String (
Item : Wide_Wide_String;
Substitute : String)
return String;
function To_Wide_String (
Item : Wide_Wide_String;
Substitute : Wide_String)
return Wide_String;
There are subprograms for code-point based decoding iteration.
procedure Get (
Item : String;
Last : out Natural;
Value : out Wide_Wide_Character;
Substitute : Wide_Wide_Character := ' ');
procedure Get (
Item : String;
Last : out Natural;
Value : out Wide_Wide_Character;
Is_Illegal_Sequence : out Boolean);
procedure Get_Reverse (
Item : String;
First : out Positive;
Value : out Wide_Wide_Character;
Substitute : Wide_Wide_Character := ' ');
procedure Get_Reverse (
Item : String;
First : out Positive;
Value : out Wide_Wide_Character;
Is_Illegal_Sequence : out Boolean);
procedure Get (
Item : Wide_String;
Last : out Natural;
Value : out Wide_Wide_Character;
Substitute : Wide_Wide_Character := ' ');
procedure Get (
Item : Wide_String;
Last : out Natural;
Value : out Wide_Wide_Character;
Is_Illegal_Sequence : out Boolean);
procedure Get_Reverse (
Item : Wide_String;
First : out Positive;
Value : out Wide_Wide_Character;
Substitute : Wide_Wide_Character := ' ');
procedure Get_Reverse (
Item : Wide_String;
First : out Positive;
Value : out Wide_Wide_Character;
Is_Illegal_Sequence : out Boolean);
procedure Get (
Item : Wide_Wide_String;
Last : out Natural;
Value : out Wide_Wide_Character;
Substitute : Wide_Wide_Character := ' ');
procedure Get (
Item : Wide_Wide_String;
Last : out Natural;
Value : out Wide_Wide_Character;
Is_Illegal_Sequence : out Boolean);
procedure Get_Reverse (
Item : Wide_Wide_String;
First : out Positive;
Value : out Wide_Wide_Character;
Substitute : Wide_Wide_Character := ' ');
procedure Get_Reverse (
Item : Wide_Wide_String;
First : out Positive;
Value : out Wide_Wide_Character;
Is_Illegal_Sequence : out Boolean);
procedure Put (
Value : Wide_Wide_Character;
Item : out String;
Last : out Natural);
procedure Put (
Value : Wide_Wide_Character;
Item : out Wide_String;
Last : out Natural);
procedure Put (
Value : Wide_Wide_Character;
Item : out Wide_Wide_String;
Last : out Natural);
Max lengths of each one multi-byte character, and the rates of expansion:
Max_Length_In_String : constant := 6;
Max_Length_In_Wide_String : constant := 2;
Max_Length_In_Wide_Wide_String : constant := 1;
Expanding_From_String_To_Wide_String : constant := 1;
Expanding_From_String_To_Wide_Wide_String : constant := 1;
Expanding_From_Wide_String_To_String : constant := 3;
Expanding_From_Wide_String_To_Wide_Wide_String : constant := 1;
Expanding_From_Wide_Wide_String_To_String : constant := 6;
Expanding_From_Wide_Wide_String_To_Wide_String : constant := 2;
Expanding_From_String_To_UTF_8 : constant := 1;
Expanding_From_String_To_UTF_16 : constant := 1;
Expanding_From_String_To_UTF_32 : constant := 1;
Expanding_From_Wide_String_To_UTF_8 : constant := 3;
Expanding_From_Wide_String_To_UTF_16 : constant := 1;
Expanding_From_Wide_String_To_UTF_32 : constant := 1;
Expanding_From_Wide_Wide_String_To_UTF_8 : constant := 6;
Expanding_From_Wide_Wide_String_To_UTF_16 : constant := 2;
Expanding_From_Wide_Wide_String_To_UTF_32 : constant := 1;
Expanding_From_UTF_8_To_String : constant := 1;
Expanding_From_UTF_8_To_Wide_String : constant := 1;
Expanding_From_UTF_8_To_Wide_Wide_String : constant := 1;
Expanding_From_UTF_16_To_String : constant := 3;
Expanding_From_UTF_16_To_Wide_String : constant := 1;
Expanding_From_UTF_16_To_Wide_Wide_String : constant := 1;
Expanding_From_UTF_32_To_String : constant := 6;
Expanding_From_UTF_32_To_Wide_String : constant := 2;
Expanding_From_UTF_32_To_Wide_Wide_String : constant := 1;
These are the implementation of Wide_Characters.Handling.Is_Basic and Wide_Wide_Characters.Handling.Is_Basic.
They are defined different from Characters.Handling.Is_Basic.
function Overloaded_Is_Basic (Item : Wide_Character) return Boolean;
function Overloaded_Is_Basic (Item : Wide_Wide_Character) return Boolean;
function Overloaded_Is_Control (Item : Character) return Boolean;
function Overloaded_Is_Control (Item : Wide_Character) return Boolean;
function Overloaded_Is_Control (Item : Wide_Wide_Character)
return Boolean;
function Overloaded_Is_Graphic (Item : Character) return Boolean;
function Overloaded_Is_Graphic (Item : Wide_Character) return Boolean;
function Overloaded_Is_Graphic (Item : Wide_Wide_Character)
return Boolean;
function Overloaded_Is_Letter (Item : Character) return Boolean;
function Overloaded_Is_Letter (Item : Wide_Character) return Boolean;
function Overloaded_Is_Letter (Item : Wide_Wide_Character) return Boolean;
function Overloaded_Is_Lower (Item : Character) return Boolean;
function Overloaded_Is_Lower (Item : Wide_Character) return Boolean;
function Overloaded_Is_Lower (Item : Wide_Wide_Character) return Boolean;
function Overloaded_Is_Upper (Item : Character) return Boolean;
function Overloaded_Is_Upper (Item : Wide_Character) return Boolean;
function Overloaded_Is_Upper (Item : Wide_Wide_Character) return Boolean;
function Overloaded_Is_Digit (Item : Character) return Boolean;
function Overloaded_Is_Digit (Item : Wide_Character) return Boolean;
function Overloaded_Is_Digit (Item : Wide_Wide_Character) return Boolean;
function Overloaded_Is_Hexadecimal_Digit (Item : Character)
return Boolean;
function Overloaded_Is_Hexadecimal_Digit (Item : Wide_Character)
return Boolean;
function Overloaded_Is_Hexadecimal_Digit (Item : Wide_Wide_Character)
return Boolean;
function Overloaded_Is_Alphanumeric (Item : Character) return Boolean;
function Overloaded_Is_Alphanumeric (Item : Wide_Character)
return Boolean;
function Overloaded_Is_Alphanumeric (Item : Wide_Wide_Character)
return Boolean;
function Overloaded_Is_Special (Item : Character) return Boolean;
function Overloaded_Is_Special (Item : Wide_Character) return Boolean;
function Overloaded_Is_Special (Item : Wide_Wide_Character)
return Boolean;
function Overloaded_To_Lower (Item : Character) return Character;
function Overloaded_To_Lower (Item : Wide_Character)
return Wide_Character;
function Overloaded_To_Lower (Item : Wide_Wide_Character)
return Wide_Wide_Character;
function Overloaded_To_Upper (Item : Character) return Character;
function Overloaded_To_Upper (Item : Wide_Character)
return Wide_Character;
function Overloaded_To_Upper (Item : Wide_Wide_Character)
return Wide_Wide_Character;
function Overloaded_To_Basic (Item : Character) return Character;
function Overloaded_To_Basic (Item : Wide_Character)
return Wide_Character;
function Overloaded_To_Basic (Item : Wide_Wide_Character)
return Wide_Wide_Character;
Unicode case folding for comparison.
function To_Case_Folding (Item : Character) return Character
renames To_Lower; -- same as To_Lower in ASCII
function Overloaded_To_Lower (Item : String) return String;
function Overloaded_To_Lower (Item : Wide_String) return Wide_String;
function Overloaded_To_Lower (Item : Wide_Wide_String)
return Wide_Wide_String;
function Overloaded_To_Upper (Item : String) return String;
function Overloaded_To_Upper (Item : Wide_String) return Wide_String;
function Overloaded_To_Upper (Item : Wide_Wide_String)
return Wide_Wide_String;
function Overloaded_To_Basic (Item : String) return String;
function Overloaded_To_Basic (Item : Wide_String) return Wide_String;
function Overloaded_To_Basic (Item : Wide_Wide_String)
return Wide_Wide_String;
function To_Case_Folding (Item : String) return String;
These constants are stored as UTF-8 as a String.
(over 100 lines)
function Has_Element (Position : Natural) return Boolean;
package Iterator_Interfaces is
new Ada.Iterator_Interfaces (Natural, Has_Element);
function Iterate return Iterator_Interfaces.Reversible_Iterator'Class;
function Iterate (First : Positive; Last : Natural)
return Iterator_Interfaces.Reversible_Iterator'Class;
A non-abstract type of the above iterator.
It's useful for some workarounds, and will be removed in the future.
type Concrete_Iterator is
limited new Iterator_Interfaces.Forward_Iterator with null record;
Shift_Left, Shift_Right, Shift_Right_Arithmetic, Rotate_Left, and Rotate_Right.
These subprograms are convenience to make hash functions.
pragma Provide_Shift_Operators (Hash_Type);
Count_Type is essentially same as Natural.
-- type Count_Type is range 0 .. implementation-defined;
subtype Count_Type is Natural;
-- Empty_List : constant List;
function Empty_List return List;
procedure Update_Element (
Container : in out List'Class; -- not primitive
Position : Cursor;
Process : not null access procedure (Element : in out Element_Type));
procedure Delete_First (
Container : in out List'Class; -- not primitive
Count : Count_Type := 1);
procedure Delete_Last (
Container : in out List'Class; -- not primitive
Count : Count_Type := 1);
function First_Element (Container : List'Class) -- not primitive
return Element_Type;
function Last_Element (Container : List'Class) -- not primitive
return Element_Type;
-- function Find (
-- Container : List;
-- Item : Element_Type;
-- Position : Cursor := No_Element)
-- return Cursor;
function Find (
Container : List;
Item : Element_Type)
return Cursor;
function Find (
Container : List;
Item : Element_Type;
Position : Cursor)
return Cursor;
-- function Reverse_Find (
-- Container : List;
-- Item : Element_Type;
-- Position : Cursor := No_Element)
-- return Cursor;
function Reverse_Find (
Container : List;
Item : Element_Type)
return Cursor;
function Reverse_Find (
Container : List;
Item : Element_Type;
Position : Cursor)
return Cursor;
function "<" (Left, Right : Cursor) return Boolean;
procedure Iterate (
Container : List'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
procedure Reverse_Iterate (
Container : List'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
function Iterate (Container : List'Class) -- not primitive
return List_Iterator_Interfaces.Reversible_Iterator'Class;
function Iterate (Container : List'Class; First, Last : Cursor)
return List_Iterator_Interfaces.Reversible_Iterator'Class;
-- Empty_Map : constant Map;
function Empty_Map return Map;
procedure Update_Element (
Container : in out Map'Class; -- not primitive
Position : Cursor;
Process : not null access procedure (
Key : Key_Type;
Element : in out Element_Type));
function Element (
Container : Map'Class; -- not primitive
Key : Key_Type)
return Element_Type;
procedure Iterate (
Container : Map'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
function Iterate (Container : Map'Class) -- not primitive
return Map_Iterator_Interfaces.Forward_Iterator'Class;
-- Empty_Set : constant Set;
function Empty_Set return Set;
generic
type Index_Type is (<>);
type Element_Array is array (Index_Type range <>) of Element_Type;
function Generic_Array_To_Set (S : Element_Array) return Set;
procedure Iterate (
Container : Set'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
function Iterate (Container : Set'Class) -- not primitive
return Set_Iterator_Interfaces.Forward_Iterator'Class;
-- Empty_List : constant List;
function Empty_List return List;
procedure Update_Element (
Container : in out List'Class; -- not primitive
Position : Cursor;
Process : not null access procedure (Element : in out Element_Type));
procedure Delete_First (
Container : in out List'Class; -- not primitive
Count : Count_Type := 1);
procedure Delete_Last (
Container : in out List'Class; -- not primitive
Count : Count_Type := 1);
function First_Element (Container : List'Class) -- not primitive
return Element_Type;
function Last_Element (Container : List'Class) -- not primitive
return Element_Type;
-- function Find (
-- Container : List;
-- Item : Element_Type;
-- Position : Cursor := No_Element)
-- return Cursor;
function Find (
Container : List;
Item : Element_Type)
return Cursor;
function Find (
Container : List;
Item : Element_Type;
Position : Cursor)
return Cursor;
-- function Reverse_Find (
-- Container : List;
-- Item : Element_Type;
-- Position : Cursor := No_Element)
-- return Cursor;
function Reverse_Find (
Container : List;
Item : Element_Type)
return Cursor;
function Reverse_Find (
Container : List;
Item : Element_Type;
Position : Cursor)
return Cursor;
function "<" (Left, Right : Cursor) return Boolean;
procedure Iterate (
Container : List'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
procedure Reverse_Iterate (
Container : List'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
function Iterate (Container : List'Class) -- not primitive
return List_Iterator_Interfaces.Reversible_Iterator'Class;
function Iterate (Container : List'Class; First, Last : Cursor)
return List_Iterator_Interfaces.Reversible_Iterator'Class;
-- Empty_Map : constant Map;
function Empty_Map return Map;
procedure Update_Element (
Container : in out Map'Class; -- not primitive
Position : Cursor;
Process : not null access procedure (
Key : Key_Type;
Element : in out Element_Type));
function Element (
Container : Map'Class; -- not primitive
Key : Key_Type)
return Element_Type;
procedure Iterate (
Container : Map'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
function Iterate (Container : Map'Class) -- not primitive
return Map_Iterator_Interfaces.Forward_Iterator'Class;
-- Empty_Set : constant Set;
function Empty_Set return Set;
procedure Iterate (
Container : Set'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
function Iterate (Container : Set'Class) -- not primitive
return Set_Iterator_Interfaces.Forward_Iterator'Class;
-- Empty_Holder : constant Holder;
function Empty_Holder return Holder;
function Element (Container : Holder'Class) -- not primitive
return Element_Type;
procedure Query_Element (
Container : Holder'Class; -- not primitive
Process : not null access procedure (Element : Element_Type));
procedure Update_Element (
Container : in out Holder'Class; -- not primitive
Process : not null access procedure (Element : in out Element_Type));
-- Empty_Map : constant Map;
function Empty_Map return Map;
procedure Update_Element (
Container : in out Map'Class; -- not primitive
Position : Cursor;
Process : not null access procedure (
Key : Key_Type;
Element : in out Element_Type));
procedure Delete_First (Container : in out Map'Class); -- not primitive
procedure Delete_Last (Container : in out Map'Class); -- not primitive
function First_Element (Container : Map'Class) -- not primitive
return Element_Type;
function First_Key (Container : Map'Class) -- not primitive
return Key_Type;
function Last_Element (Container : Map'Class) -- not primitive
return Element_Type;
function Last_Key (Container : Map'Class) -- not primitive
return Key_Type;
function Element (
Container : Map'Class; -- not primitive
Key : Key_Type)
return Element_Type;
procedure Iterate (
Container : Map'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
procedure Reverse_Iterate (
Container : Map'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
function Iterate (Container : Map'Class) -- not primitive
return Map_Iterator_Interfaces.Reversible_Iterator'Class;
function Iterate (Container : Map'Class; First, Last : Cursor)
return Map_Iterator_Interfaces.Reversible_Iterator'Class;
-- Empty_Set : constant Set;
function Empty_Set return Set;
procedure Delete_First (Container : in out Set'Class); -- not primitive
procedure Delete_Last (Container : in out Set'Class); -- not primitive
function First_Element (Container : Set'Class) -- not primitive
return Element_Type;
function Last_Element (Container : Set'Class) -- not primitive
return Element_Type;
procedure Iterate (
Container : Set'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
procedure Reverse_Iterate (
Container : Set'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
function Iterate (Container : Set'Class) -- not primitive
return Set_Iterator_Interfaces.Reversible_Iterator'Class;
function Iterate (Container : Set'Class; First, Last : Cursor)
return Set_Iterator_Interfaces.Reversible_Iterator'Class;
-- type Cursor is private;
subtype Cursor is Extended_Index;
-- Empty_Vector : constant Vector;
function Empty_Vector return Vector;
function To_Cursor (
Container : Vector'Class; -- not primitive
Index : Extended_Index)
return Cursor;
function Element (
Container : Vector'Class; -- not primitive
Index : Index_Type)
return Element_Type;
procedure Query_Element (
Container : Vector'Class; -- not primitive
Index : Index_Type;
Process : not null access procedure (Element : Element_Type));
procedure Update_Element (
Container : in out Vector'Class; -- not primitive
Position : Cursor;
Process : not null access procedure (Element : in out Element_Type));
procedure Insert_Space (
Container : in out Vector'Class; -- not primitive
Before : Extended_Index;
Count : Count_Type := 1);
procedure Delete_First (
Container : in out Vector'Class; -- not primitive
Count : Count_Type := 1);
procedure Delete_Last (
Container : in out Vector'Class; -- not primitive
Count : Count_Type := 1);
function First_Index (Container : Vector'Class) -- not primitive
return Index_Type;
function First_Element (Container : Vector'Class) -- not primitive
return Element_Type;
function Last_Index (Container : Vector'Class) -- not primitive
return Extended_Index;
function Last_Element (Container : Vector'Class) -- not primitive
return Element_Type;
function Find_Index (
Container : Vector'Class; -- not primitive
Item : Element_Type;
Index : Index_Type := Index_Type'First)
return Extended_Index;
-- function Find (
-- Container : Vector;
-- Item : Element_Type;
-- Position : Cursor := No_Element)
-- return Cursor;
function Find (
Container : Vector;
Item : Element_Type)
return Cursor;
function Find (
Container : Vector;
Item : Element_Type;
Position : Cursor)
return Cursor;
function Reverse_Find_Index (
Container : Vector'Class; -- not primitive
Item : Element_Type;
Index : Index_Type := Index_Type'Last)
return Extended_Index;
-- function Reverse_Find (
-- Container : Vector;
-- Item : Element_Type;
-- Position : Cursor := No_Element)
-- return Cursor;
function Reverse_Find (
Container : Vector;
Item : Element_Type)
return Cursor;
function Reverse_Find (
Container : Vector;
Item : Element_Type;
Position : Cursor)
return Cursor;
procedure Iterate (
Container : Vector'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
procedure Reverse_Iterate (
Container : Vector'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
function Iterate (Container : Vector'Class) -- not primitive
return Vector_Iterator_Interfaces.Reversible_Iterator'Class;
function Iterate (Container : Vector'Class; First, Last : Cursor)
return Vector_Iterator_Interfaces.Reversible_Iterator'Class;
-- Empty_Map : constant Map;
function Empty_Map return Map;
procedure Update_Element (
Container : in out Map'Class; -- not primitive
Position : Cursor;
Process : not null access procedure (
Key : Key_Type;
Element : in out Element_Type));
procedure Delete_First (Container : in out Map'Class); -- not primitive
procedure Delete_Last (Container : in out Map'Class); -- not primitive
function First_Element (Container : Map'Class) -- not primitive
return Element_Type;
function First_Key (Container : Map'Class) -- not primitive
return Key_Type;
function Last_Element (Container : Map'Class) -- not primitive
return Element_Type;
function Last_Key (Container : Map'Class) -- not primitive
return Key_Type;
function Element (
Container : Map'Class; -- not primitive
Key : Key_Type)
return Element_Type;
procedure Iterate (
Container : Map'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
procedure Reverse_Iterate (
Container : Map'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
function Iterate (Container : Map'Class) -- not primitive
return Map_Iterator_Interfaces.Reversible_Iterator'Class;
function Iterate (Container : Map'Class; First, Last : Cursor)
return Map_Iterator_Interfaces.Reversible_Iterator'Class;
-- Empty_Set : constant Set;
function Empty_Set return Set;
generic
type Index_Type is (<>);
type Element_Array is array (Index_Type range <>) of Element_Type;
function Generic_Array_To_Set (S : Element_Array) return Set;
procedure Delete_First (Container : in out Set'Class); -- not primitive
procedure Delete_Last (Container : in out Set'Class); -- not primitive
function First_Element (Container : Set'Class) -- not primitive
return Element_Type;
function Last_Element (Container : Set'Class) -- not primitive
return Element_Type;
procedure Iterate (
Container : Set'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
procedure Reverse_Iterate (
Container : Set'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
function Iterate (Container : Set'Class) -- not primitive
return Set_Iterator_Interfaces.Reversible_Iterator'Class;
function Iterate (Container : Set'Class; First, Last : Cursor)
return Set_Iterator_Interfaces.Reversible_Iterator'Class;
-- type Cursor is private;
subtype Cursor is Extended_Index;
-- Empty_Vector : constant Vector;
function Empty_Vector return Vector;
generic
type Element_Array is array (Index_Type range <>) of Element_Type;
function Generic_Array_To_Vector (S : Element_Array) return Vector;
function To_Cursor (
Container : Vector'Class; -- not primitive
Index : Extended_Index)
return Cursor;
function Element (
Container : Vector'Class; -- not primitive
Index : Index_Type)
return Element_Type;
procedure Query_Element (
Container : Vector'Class; -- not primitive
Index : Index_Type;
Process : not null access procedure (Element : Element_Type));
procedure Update_Element (
Container : in out Vector'Class; -- not primitive
Position : Cursor;
Process : not null access procedure (Element : in out Element_Type));
procedure Insert_Space (
Container : in out Vector'Class; -- not primitive
Before : Extended_Index;
Count : Count_Type := 1);
procedure Delete_First (
Container : in out Vector'Class; -- not primitive
Count : Count_Type := 1);
procedure Delete_Last (
Container : in out Vector'Class; -- not primitive
Count : Count_Type := 1);
function First_Index (Container : Vector'Class) -- not primitive
return Index_Type;
function First_Element (Container : Vector'Class) -- not primitive
return Element_Type;
function Last_Index (Container : Vector'Class) -- not primitive
return Extended_Index;
function Last_Element (Container : Vector'Class) -- not primitive
return Element_Type;
function Find_Index (
Container : Vector'Class; -- not primitive
Item : Element_Type;
Index : Index_Type := Index_Type'First)
return Extended_Index;
-- function Find (
-- Container : Vector;
-- Item : Element_Type;
-- Position : Cursor := No_Element)
-- return Cursor;
function Find (
Container : Vector;
Item : Element_Type)
return Cursor;
function Find (
Container : Vector;
Item : Element_Type;
Position : Cursor)
return Cursor;
function Reverse_Find_Index (
Container : Vector'Class; -- not primitive
Item : Element_Type;
Index : Index_Type := Index_Type'Last)
return Extended_Index;
-- function Reverse_Find (
-- Container : Vector;
-- Item : Element_Type;
-- Position : Cursor := No_Element)
-- return Cursor;
function Reverse_Find (
Container : Vector;
Item : Element_Type)
return Cursor;
function Reverse_Find (
Container : Vector;
Item : Element_Type;
Position : Cursor)
return Cursor;
procedure Iterate (
Container : Vector'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
procedure Reverse_Iterate (
Container : Vector'Class; -- not primitive
Process : not null access procedure (Position : Cursor));
function Iterate (Container : Vector'Class) -- not primitive
return Vector_Iterator_Interfaces.Reversible_Iterator'Class;
function Iterate (Container : Vector'Class; First, Last : Cursor)
return Vector_Iterator_Interfaces.Reversible_Iterator'Class;
Convenient way to direct access.
type Element_Array is array (Index_Type range <>) of aliased Element_Type;
package Slicing is
new References.Generic_Slicing (Index_Type, Element_Type, Element_Array);
function Constant_Reference (Container : aliased Vector)
return Slicing.Constant_Reference_Type;
function Reference (Container : aliased in out Vector)
return Slicing.Reference_Type;
procedure Create_Directory (
New_Directory : String;
Form : String); -- removed default
procedure Create_Directory (
New_Directory : String);
procedure Create_Path (
New_Directory : String;
Form : String); -- removed default
procedure Create_Path (
New_Directory : String);
These functions fail if Overwrite = False and New_Name already exists.
procedure Rename (
Old_Name : String;
New_Name : String;
Overwrite : Boolean := True); -- additional
procedure Copy_File (
Source_Name : String;
Target_Name : String;
Form : String); -- removed default
procedure Copy_File (
Source_Name : String;
Target_Name : String;
Overwrite : Boolean := True);
Overwrite a target file with another source file, and delete the source if it succeeded.
Replace_File tries to preserve attributes of the target unlike Rename.
procedure Replace_File (
Source_Name : String;
Target_Name : String);
procedure Symbolic_Link (
Source_Name : String;
Target_Name : String;
Overwrite : Boolean := True);
function Compose (
Containing_Directory : String := "";
Name : String;
Extension : String := "";
Path_Delimiter : Hierarchical_File_Names.Path_Delimiter_Type :=
Hierarchical_File_Names.Default_Path_Delimiter) -- additional
return String;
File_Size is essentially same as Stream_Element_Count.
-- type File_Size is range 0 .. implementation-defined;
subtype File_Size is Streams.Stream_Element_Count;
Set modification time of a file.
procedure Set_Modification_Time (Name : String; Time : Calendar.Time);
function Is_Assigned (Directory_Entry : Directory_Entry_Type)
return Boolean;
function Is_Open (Search : Search_Type) return Boolean;
procedure Start_Search (
Search : in out Search_Type;
Directory : String;
Pattern : String := "*"; -- additional default
Filter : Filter_Type := (others => True));
function Start_Search (
Directory : String;
Pattern : String := "*";
Filter : Filter_Type := (others => True))
return Search_Type;
The function version of Get_Next_Entry.
function Get_Next_Entry (
Search : aliased in out Search_Type) -- Open_Search_Type
return Directory_Entry_Type;
Efficient way to get the next entry without copying.
type Constant_Reference_Type (
Element : not null access constant Directory_Entry_Type) is null record
with Implicit_Dereference => Element;
function Look_Next_Entry (
Search : aliased Search_Type) -- Open_Search_Type
return Constant_Reference_Type;
procedure Skip_Next_Entry (
Search : in out Search_Type); -- Open_Search_Type
procedure Search (
Directory : String;
Pattern : String := "*"; -- additional default
Filter : Filter_Type := (others => True);
Process : not null access procedure (
Directory_Entry : Directory_Entry_Type));
AI12-0009-1, Directory Iteration
type Directory_Listing is tagged limited private
with
-- Constant_Indexing => Current_Entry,
Constant_Indexing => Constant_Reference,
Default_Iterator => Iterate,
Iterator_Element => Directory_Entry_Type;
-- subtype Open_Directory_Listing is Directory_Listing
-- with
-- Dynamic_Predicate => Is_Open (Open_Directory_Listing),
-- Predicate_Failure => raise Status_Error;
function Is_Open (Listing : Directory_Listing) return Boolean; -- additional
function Entries (
Directory : String;
Pattern : String := "*"; -- additional default
Filter : Filter_Type := (others => True))
return Directory_Listing;
type Cursor is private;
function Has_Entry (Position : Cursor) return Boolean;
package Directory_Iterators is
new Iterator_Interfaces (Cursor, Has_Entry);
-- Note: To be consistent with the existing instances in Ada.Containers,
-- like Vector/List/Set/Map_Iterator_Interfaces, should it be renamed to
-- Directory_Listing_Iterator_Interfaces?
function Iterate (
Listing : Directory_Listing'Class) -- Open_Directory_Listing'Class
return Directory_Iterators.Forward_Iterator'Class;
function Current_Entry (
Entries : Directory_Listing'Class; -- Open_Directory_Listing'Class
Position : Cursor)
return Directory_Entry_Type;
-- with Pre => Has_Entry (Position);
function Constant_Reference (
Container : aliased Directory_Listing; -- Open_Directory_Listing
Position : Cursor)
return Constant_Reference_Type;
-- additional
Get Directory_Entry_Type of one file to get plural information.
procedure Get_Entry (
Name : String;
Directory_Entry : out Directory_Entry_Type);
function Get_Entry (
Name : String)
return Directory_Entry_Type;
function Compose (
Directory : String := "";
Relative_Name : String;
Extension : String := "";
Path_Delimiter : Ada.Hierarchical_File_Names.Path_Delimiter_Type :=
Ada.Hierarchical_File_Names.Default_Path_Delimiter) -- additional
return String
renames Ada.Hierarchical_File_Names.Compose;
type Permission is (
Others_Execute, Others_Write, Others_Read,
Group_Execute, Group_Write, Group_Read,
Owner_Execute, Owner_Write, Owner_Read,
Sticky, -- additional
Set_Group_ID, Set_User_ID);
Read a target path of a symbolic link.
function Read_Symbolic_Link (Name : String) return String;
function Read_Symbolic_Link (
Directory_Entry : Directory_Entry_Type) -- Assigned_Directory_Entry_Type
return String;
The permissions of the current user.
type User_Permission is (User_Execute, User_Write, User_Read);
type User_Permission_Set_Type is array (User_Permission) of Boolean;
function User_Permission_Set (Name : String)
return User_Permission_Set_Type;
function User_Permission_Set (
Directory_Entry : Directory_Entry_Type) -- Assigned_Directory_Entry_Type
return User_Permission_Set_Type;
type File_Id is mod 2 ** 64; -- 64bit inode
function Identity (Name : String) return File_Id;
function Identity (
Directory_Entry : Directory_Entry_Type) -- Assigned_Directory_Entry_Type
return File_Id;
There is a simple iterator:
type Cursor is private; -- moved from below
function Has_Element (Position : Cursor) return Boolean;
function Name (Position : Cursor) return String;
function Value (Position : Cursor) return String;
package Iterator_Interfaces is
new Ada.Iterator_Interfaces (Cursor, Has_Element);
function Iterate return Iterator_Interfaces.Forward_Iterator'Class;
Same as Reraise_Occurrence without checking Null_Occurrence.
procedure Reraise_Nonnull_Occurrence (X : Exception_Occurrence);
Efficient alternatives of: begin raise E; when X : E => Save_Occurrence (Target, X); end;
procedure Save_Exception (
Target : out Exception_Occurrence;
E : Exception_Id;
Message : String := "");
procedure Save_Exception_From_Here (
Target : out Exception_Occurrence;
E : Exception_Id;
File : String := Debug.File;
Line : Integer := Debug.Line);
procedure Save_Exception_From_Here (
Target : out Exception_Occurrence;
E : Exception_Id;
File : String := Debug.File;
Line : Integer := Debug.Line;
Message : String);
Check the interrupt mask of current process.
function Is_Blocked (Interrupt : Interrupt_Id) return Boolean;
Set the interrupt mask of current process.
procedure Block (Interrupt : Interrupt_Id);
Unset the interrupt mask of current process.
procedure Unblock (Interrupt : Interrupt_Id);
Unchecked version of Attach_Handler.
procedure Unchecked_Attach_Handler (
New_Handler : Parameterless_Handler;
Interrupt : Interrupt_Id);
Unchecked version of Exchange_Handler.
procedure Unchecked_Exchange_Handler (
Old_Handler : out Parameterless_Handler;
New_Handler : Parameterless_Handler;
Interrupt : Interrupt_Id);
Unchecked version of Detach_Handler.
procedure Unchecked_Detach_Handler (Interrupt : Interrupt_Id);
Raise a interrupt from/to itself.
procedure Raise_Interrupt (Interrupt : Interrupt_Id);
These are language code defined by ISO 639-1/2.
Ada RM requires alpha-3 in spite of that almost all the operating systems use alpha-2.
type ISO_639_Alpha_2 is new String (1 .. 2);
-- with Dynamic_Predicate => -- [gcc-4.8] rejects
-- (for all E of ISO_639_Alpha_2 => E in 'a' .. 'z');
type ISO_639_Alpha_3 is new String (1 .. 3);
-- with Dynamic_Predicate => -- [gcc-4.8] rejects
-- (for all E of ISO_639_Alpha_3 => E in 'a' .. 'z');
ISO_639_Alpha_2_Unknown : constant ISO_639_Alpha_2 := "un"; -- ???
ISO_639_Alpha_3_Unknown : constant ISO_639_Alpha_3 := "und";
function To_Alpha_2 (Item : ISO_639_Alpha_3) return ISO_639_Alpha_2;
function To_Alpha_3 (Item : ISO_639_Alpha_2) return ISO_639_Alpha_3;
function Language return ISO_639_Alpha_2;
function Language return ISO_639_Alpha_3; -- Language_Code
These are country code defined by ISO 3166-1.
type ISO_3166_1_Alpha_2 is new String (1 .. 2);
-- with Dynamic_Predicate => -- [gcc-4.8] rejects
-- (for all E of ISO_3166_1_Alpha_2 => E in 'A' .. 'Z');
ISO_3166_1_Alpha_2_Unknown : constant ISO_3166_1_Alpha_2 := "ZZ";
function Country return ISO_3166_1_Alpha_2; -- Country_Code
-- type Language_Code is new String (1 .. 3)
-- with Dynamic_Predicate =>
-- (for all E of Language_Code => E in 'a' .. 'z'); -- AI12-0037-1
subtype Language_Code is ISO_639_Alpha_3;
-- type Country_Code is new String (1 .. 2)
-- with Dynamic_Predicate =>
-- (for all E of Country_Code => E in 'A' .. 'Z'); -- AI12-0037-1
subtype Country_Code is ISO_3166_1_Alpha_2;
-- i : constant Imaginary;
-- j : constant Imaginary;
function i return Imaginary;
function j return Imaginary
renames i;
type Seekable_Stream_Type is
abstract limited new Root_Stream_Type with private;
subtype Stream_Element_Positive_Count is
Stream_Element_Count range 1 .. Stream_Element_Count'Last;
procedure Set_Index (
Stream : in out Seekable_Stream_Type;
To : Stream_Element_Positive_Count) is abstract;
function Index (Stream : Seekable_Stream_Type)
return Stream_Element_Positive_Count is abstract;
function Size (Stream : Seekable_Stream_Type)
return Stream_Element_Count is abstract;
Count is essentially same as Stream_Element_Count.
-- type Count is range 0 .. implementation-defined;
subtype Count is Stream_Element_Count;
subtype Positive_Count is Count range 1 .. Count'Last;
-- Index into file, in stream elements
procedure Create (
File : in out File_Type;
Mode : File_Mode := Out_File;
Name : String := "";
Form : String); -- removed default
procedure Create (
File : in out File_Type;
Mode : File_Mode := Out_File;
Name : String := "";
Shared : IO_Modes.File_Shared_Spec := IO_Modes.By_Mode;
Wait : Boolean := False;
Overwrite : Boolean := True);
function Create (
Mode : File_Mode := Out_File;
Name : String := "";
Shared : IO_Modes.File_Shared_Spec := IO_Modes.By_Mode;
Wait : Boolean := False;
Overwrite : Boolean := True)
return File_Type;
procedure Open (
File : in out File_Type;
Mode : File_Mode;
Name : String;
Form : String); -- removed default
procedure Open (
File : in out File_Type;
Mode : File_Mode;
Name : String;
Shared : IO_Modes.File_Shared_Spec := IO_Modes.By_Mode;
Wait : Boolean := False;
Overwrite : Boolean := True);
function Open (
Mode : File_Mode;
Name : String;
Shared : IO_Modes.File_Shared_Spec := IO_Modes.By_Mode;
Wait : Boolean := False;
Overwrite : Boolean := True)
return File_Type;
-- Null_Bounded_String : constant Bounded_String;
function Null_Bounded_String return Bounded_String
renames Bounded_Strings.Null_Bounded_String;
-- function Index (
-- Source : Bounded_String;
-- Pattern : String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Index (
Source : Bounded_String;
Pattern : String;
From : Positive;
Going : Direction := Forward)
return Natural
renames Functions.Index;
function Index (
Source : Bounded_String;
Pattern : String;
From : Positive;
Going : Direction := Forward;
Mapping : Strings.Maps.Character_Mapping)
return Natural
renames Maps.Index;
-- function Index (
-- Source : Bounded_String;
-- Pattern : String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Index (
Source : Bounded_String;
Pattern : String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Character)
return Character)
return Natural
renames Maps.Index_Element;
function Index (
Source : Bounded_String;
Pattern : String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Maps.Index;
-- function Index (
-- Source : Bounded_String;
-- Pattern : String;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Index (
Source : Bounded_String;
Pattern : String;
Going : Direction := Forward)
return Natural
renames Functions.Index;
function Index (
Source : Bounded_String;
Pattern : String;
Going : Direction := Forward;
Mapping : Strings.Maps.Character_Mapping)
return Natural
renames Maps.Index;
-- function Index (
-- Source : Bounded_String;
-- Pattern : String;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Index (
Source : Bounded_String;
Pattern : String;
Going : Direction := Forward;
Mapping : not null access function (From : Character)
return Character)
return Natural
renames Maps.Index_Element;
function Index (
Source : Bounded_String;
Pattern : String;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Maps.Index;
-- function Count (
-- Source : Bounded_String;
-- Pattern : String;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Count (
Source : Bounded_String;
Pattern : String)
return Natural
renames Functions.Count;
function Count (
Source : Bounded_String;
Pattern : String;
Mapping : Strings.Maps.Character_Mapping)
return Natural
renames Maps.Count;
-- function Count (
-- Source : Bounded_String;
-- Pattern : String;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Count (
Source : Bounded_String;
Pattern : String;
Mapping : not null access function (From : Character)
return Character)
return Natural
renames Maps.Count_Element;
function Count (
Source : Bounded_String;
Pattern : String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Maps.Count;
function Translate (
Source : Bounded_String;
Mapping : Strings.Maps.Character_Mapping;
Drop : Truncation := Error) -- additional
return Bounded_String
renames Maps.Translate;
procedure Translate (
Source : in out Bounded_String;
Mapping : Strings.Maps.Character_Mapping;
Drop : Truncation := Error) -- additional
renames Maps.Translate;
-- function Translate (
-- Source : Bounded_String;
-- Mapping : Maps.Character_Mapping_Function)
-- return Bounded_String;
function Translate (
Source : Bounded_String;
Mapping : not null access function (From : Character)
return Character)
return Bounded_String
renames Maps.Translate_Element;
function Translate (
Source : Bounded_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character;
Drop : Truncation := Error)
return Bounded_String
renames Maps.Translate;
-- procedure Translate (
-- Source : in out Bounded_String;
-- Mapping : Maps.Character_Mapping_Function);
procedure Translate (
Source : in out Bounded_String;
Mapping : not null access function (From : Character)
return Character)
renames Maps.Translate_Element;
procedure Translate (
Source : in out Bounded_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character;
Drop : Truncation := Error)
renames Maps.Translate;
function Trim (
Source : Bounded_String;
Side : Trim_End;
Blank : Character := Space) -- additional
return Bounded_String
renames Functions.Trim;
procedure Trim (
Source : in out Bounded_String;
Side : Trim_End;
Blank : Character := Space) -- additional
renames Functions.Trim;
-- function Index (
-- Source : String;
-- Pattern : String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Index (
Source : String;
Pattern : String;
From : Positive;
Going : Direction := Forward)
return Natural
renames Functions.Index;
function Index (
Source : String;
Pattern : String;
From : Positive;
Going : Direction := Forward;
Mapping : Maps.Character_Mapping)
return Natural
renames Functions.Maps.Index;
-- function Index (
-- Source : String;
-- Pattern : String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Index (
Source : String;
Pattern : String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Character) return Character)
return Natural
renames Functions.Maps.Index_Element;
function Index (
Source : String;
Pattern : String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Functions.Maps.Index;
-- function Index (
-- Source : String;
-- Pattern : String;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Index (
Source : String;
Pattern : String;
Going : Direction := Forward)
return Natural
renames Functions.Index;
function Index (
Source : String;
Pattern : String;
Going : Direction := Forward;
Mapping : Maps.Character_Mapping)
return Natural
renames Functions.Maps.Index;
-- function Index (
-- Source : String;
-- Pattern : String;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Index (
Source : String;
Pattern : String;
Going : Direction := Forward;
Mapping : not null access function (From : Character) return Character)
return Natural
renames Functions.Maps.Index_Element;
function Index (
Source : String;
Pattern : String;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Functions.Maps.Index;
-- function Count (
-- Source : String;
-- Pattern : String;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Count (
Source : String;
Pattern : String)
return Natural
renames Functions.Count;
function Count (
Source : String;
Pattern : String;
Mapping : Maps.Character_Mapping)
return Natural
renames Functions.Maps.Count;
-- function Count (
-- Source : String;
-- Pattern : String;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Count (
Source : String;
Pattern : String;
Mapping : not null access function (From : Character) return Character)
return Natural
renames Functions.Maps.Count_Element;
function Count (
Source : String;
Pattern : String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Functions.Maps.Count;
procedure Translate (
Source : in out String;
Mapping : Maps.Character_Mapping;
Drop : Truncation := Error; -- additional
Justify : Alignment := Left; -- additional
Pad : Character := Space) -- additional
renames Functions.Maps.Translate;
-- function Translate (
-- Source : String;
-- Mapping : Maps.Character_Mapping_Function)
-- return String;
function Translate (
Source : String;
Mapping : not null access function (From : Character) return Character)
return String
renames Functions.Maps.Translate_Element;
function Translate (
Source : String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return String
renames Functions.Maps.Translate;
-- procedure Translate (
-- Source : in out String;
-- Mapping : Maps.Character_Mapping_Function);
procedure Translate (
Source : in out String;
Mapping : not null access function (From : Character) return Character)
renames Functions.Maps.Translate_Element;
procedure Translate (
Source : in out String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character;
Drop : Truncation := Error; -- additional
Justify : Alignment := Left; -- additional
Pad : Character := Space) -- additional
renames Functions.Maps.Translate;
function Trim (
Source : String;
Side : Trim_End;
Blank : Character := Space) -- additional
return String
renames Functions.Trim;
procedure Trim (
Source : in out String;
Side : Trim_End;
Blank : Character;
Justify : Alignment := Left;
Pad : Character := Space)
renames Functions.Trim;
-- Null_Set : constant Character_Set;
function Null_Set return Character_Set;
function Is_Null (Set : Character_Set) return Boolean;
type Wide_Character_Range is record
Low : Wide_Character;
High : Wide_Character;
end record;
type Wide_Character_Ranges is
array (Positive range <>) of Wide_Character_Range;
type Wide_Wide_Character_Range is record
Low : Wide_Wide_Character;
High : Wide_Wide_Character;
end record;
type Wide_Wide_Character_Ranges is
array (Positive range <>) of Wide_Wide_Character_Range;
function Overloaded_To_Set (Ranges : Character_Ranges)
return Character_Set;
function Overloaded_To_Set (Ranges : Wide_Character_Ranges)
return Character_Set;
function Overloaded_To_Set (Ranges : Wide_Wide_Character_Ranges)
return Character_Set;
function Overloaded_To_Set (Span : Character_Range)
return Character_Set;
function Overloaded_To_Set (Span : Wide_Character_Range)
return Character_Set;
function Overloaded_To_Set (Span : Wide_Wide_Character_Range)
return Character_Set;
function Overloaded_To_Ranges (Set : Character_Set)
return Character_Ranges;
function Overloaded_To_Ranges (Set : Character_Set)
return Wide_Character_Ranges;
function Overloaded_To_Ranges (Set : Character_Set)
return Wide_Wide_Character_Ranges;
function Overloaded_Is_In (
Element : Character;
Set : Character_Set)
return Boolean;
function Overloaded_Is_In (
Element : Wide_Character;
Set : Character_Set)
return Boolean;
function Overloaded_Is_In (
Element : Wide_Wide_Character;
Set : Character_Set)
return Boolean;
subtype Wide_Character_Sequence is Wide_String;
subtype Wide_Wide_Character_Sequence is Wide_Wide_String;
function Overloaded_To_Set (Sequence : Character_Sequence)
return Character_Set;
function Overloaded_To_Set (Sequence : Wide_Character_Sequence)
return Character_Set;
function Overloaded_To_Set (Sequence : Wide_Wide_Character_Sequence)
return Character_Set;
function Overloaded_To_Set (Singleton : Character)
return Character_Set;
function Overloaded_To_Set (Singleton : Wide_Character)
return Character_Set;
function Overloaded_To_Set (Singleton : Wide_Wide_Character)
return Character_Set;
function Overloaded_To_Sequence (Set : Character_Set)
return Character_Sequence;
function Overloaded_To_Sequence (Set : Character_Set)
return Wide_Character_Sequence;
function Overloaded_To_Sequence (Set : Character_Set)
return Wide_Wide_Character_Sequence;
function Overloaded_Value (
Map : Character_Mapping;
Element : Character)
return Character;
function Overloaded_Value (
Map : Character_Mapping;
Element : Wide_Character)
return Wide_Character;
function Overloaded_Value (
Map : Character_Mapping;
Element : Wide_Wide_Character)
return Wide_Wide_Character;
-- Identity : constant Character_Mapping;
function Identity return Character_Mapping;
function Is_Identity (Map : Character_Mapping) return Boolean;
function Overloaded_To_Mapping (From, To : Character_Sequence)
return Character_Mapping;
function Overloaded_To_Mapping (From, To : Wide_Character_Sequence)
return Character_Mapping;
function Overloaded_To_Mapping (From, To : Wide_Wide_Character_Sequence)
return Character_Mapping;
function Overloaded_To_Domain (Map : Character_Mapping)
return Character_Sequence;
function Overloaded_To_Domain (Map : Character_Mapping)
return Wide_Character_Sequence;
function Overloaded_To_Domain (Map : Character_Mapping)
return Wide_Wide_Character_Sequence;
function Overloaded_To_Range (Map : Character_Mapping)
return Character_Sequence;
function Overloaded_To_Range (Map : Character_Mapping)
return Wide_Character_Sequence;
function Overloaded_To_Range (Map : Character_Mapping)
return Wide_Wide_Character_Sequence;
overriding function "=" (Left, Right : Character_Mapping) return Boolean;
There are sets of unicode category.
function Unassigned_Set return Character_Set;
function Uppercase_Letter_Set return Character_Set;
function Lowercase_Letter_Set return Character_Set;
function Titlecase_Letter_Set return Character_Set;
function Modifier_Letter_Set return Character_Set;
function Other_Letter_Set return Character_Set;
function Decimal_Number_Set return Character_Set;
function Letter_Number_Set return Character_Set;
function Other_Number_Set return Character_Set;
function Line_Separator_Set return Character_Set;
function Paragraph_Separator_Set return Character_Set;
function Control_Set return Character_Set;
function Format_Set return Character_Set;
function Private_Use_Set return Character_Set;
function Surrogate_Set return Character_Set;
function Case_Folding_Map return Character_Mapping;
type Encoding_Scheme is (
UTF_8, UTF_16BE, UTF_16LE,
UTF_32BE, UTF_32LE); -- additional
subtype UTF_32_Wide_Wide_String is Wide_Wide_String;
BOM_32BE : aliased constant String :=
Character'Val (16#00#)
& Character'Val (16#00#)
& Character'Val (16#FE#)
& Character'Val (16#FF#);
BOM_32LE : aliased constant String :=
Character'Val (16#FF#)
& Character'Val (16#FE#)
& Character'Val (16#00#)
& Character'Val (16#00#);
BOM_32 : constant Wide_Wide_String :=
(1 => Wide_Wide_Character'Val (16#0000FEFF#));
UTF_16_Wide_String_Scheme : constant
Encoding_Scheme range UTF_16BE .. UTF_16LE;
UTF_32_Wide_Wide_String_Scheme : constant
Encoding_Scheme range UTF_32BE .. UTF_32LE;
This function convets from binary to 32.
function Convert (
Item : UTF_String;
Input_Scheme : Encoding_Scheme;
Output_BOM : Boolean := False)
return UTF_32_Wide_Wide_String;
This function convets from 8 to 32.
function Convert (
Item : UTF_8_String;
Output_BOM : Boolean := False)
return UTF_32_Wide_Wide_String;
This function convets from 16 to 32.
function Convert (
Item : UTF_16_Wide_String;
Output_BOM : Boolean := False)
return UTF_32_Wide_Wide_String;
This function convets from 32 to binary.
function Convert (
Item : UTF_32_Wide_Wide_String;
Output_Scheme : Encoding_Scheme;
Output_BOM : Boolean := False)
return UTF_String;
This function convets from 32 to 8.
function Convert (
Item : UTF_32_Wide_Wide_String;
Output_BOM : Boolean := False)
return UTF_8_String;
This function convets from 32 to 16.
function Convert (
Item : UTF_32_Wide_Wide_String;
Output_BOM : Boolean := False)
return UTF_16_Wide_String;
-- Null_Unbounded_String : constant Unbounded_String;
function Null_Unbounded_String return Unbounded_String
renames Unbounded_Strings.Null_Unbounded_String;
-- function Index (
-- Source : Unbounded_String;
-- Pattern : String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Index (
Source : Unbounded_String;
Pattern : String;
From : Positive;
Going : Direction := Forward)
return Natural
renames Unbounded_Strings.Functions.Index;
function Index (
Source : Unbounded_String;
Pattern : String;
From : Positive;
Going : Direction := Forward;
Mapping : Maps.Character_Mapping)
return Natural
renames Unbounded_Strings.Functions.Maps.Index;
-- function Index (
-- Source : Unbounded_String;
-- Pattern : String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Index (
Source : Unbounded_String;
Pattern : String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Character) return Character)
return Natural
renames Unbounded_Strings.Functions.Maps.Index_Element;
function Index (
Source : Unbounded_String;
Pattern : String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Unbounded_Strings.Functions.Maps.Index;
-- function Index (
-- Source : Unbounded_String;
-- Pattern : String;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Index (
Source : Unbounded_String;
Pattern : String;
Going : Direction := Forward)
return Natural
renames Unbounded_Strings.Functions.Index;
function Index (
Source : Unbounded_String;
Pattern : String;
Going : Direction := Forward;
Mapping : Maps.Character_Mapping)
return Natural
renames Unbounded_Strings.Functions.Maps.Index;
-- function Index (
-- Source : Unbounded_String;
-- Pattern : String;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Index (
Source : Unbounded_String;
Pattern : String;
Going : Direction := Forward;
Mapping : not null access function (From : Character) return Character)
return Natural
renames Unbounded_Strings.Functions.Maps.Index_Element;
function Index (
Source : Unbounded_String;
Pattern : String;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Unbounded_Strings.Functions.Maps.Index;
-- function Count (
-- Source : Unbounded_String;
-- Pattern : String;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Count (
Source : Unbounded_String;
Pattern : String)
return Natural
renames Unbounded_Strings.Functions.Count;
function Count (
Source : Unbounded_String;
Pattern : String;
Mapping : Maps.Character_Mapping)
return Natural
renames Unbounded_Strings.Functions.Maps.Count;
-- function Count (
-- Source : Unbounded_String;
-- Pattern : String;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Count (
Source : Unbounded_String;
Pattern : String;
Mapping : not null access function (From : Character) return Character)
return Natural
renames Unbounded_Strings.Functions.Maps.Count_Element;
function Count (
Source : Unbounded_String;
Pattern : String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Unbounded_Strings.Functions.Maps.Count;
-- function Translate (
-- Source : Unbounded_String;
-- Mapping : Maps.Character_Mapping_Function)
-- return Unbounded_String;
function Translate (
Source : Unbounded_String;
Mapping : not null access function (From : Character) return Character)
return Unbounded_String
renames Unbounded_Strings.Functions.Maps.Translate_Element;
function Translate (
Source : Unbounded_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Unbounded_String
renames Unbounded_Strings.Functions.Maps.Translate;
-- procedure Translate (
-- Source : in out Unbounded_String;
-- Mapping : Maps.Character_Mapping_Function);
procedure Translate (
Source : in out Unbounded_String;
Mapping : not null access function (From : Character) return Character)
renames Unbounded_Strings.Functions.Maps.Translate_Element;
procedure Translate (
Source : in out Unbounded_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
renames Unbounded_Strings.Functions.Maps.Translate;
function Trim (
Source : Unbounded_String;
Side : Trim_End;
Blank : Character := Space) -- additional
return Unbounded_String
renames Unbounded_Strings.Functions.Trim;
procedure Trim (
Source : in out Unbounded_String;
Side : Trim_End;
Blank : Character := Space) -- additional
renames Unbounded_Strings.Functions.Trim;
-- Null_Wide_Bounded_String : constant Bounded_Wide_String;
function Null_Bounded_Wide_String return Bounded_Wide_String
renames Bounded_Wide_Strings.Null_Bounded_String;
-- function Index (
-- Source : Bounded_Wide_String;
-- Pattern : Wide_String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Index (
Source : Bounded_Wide_String;
Pattern : Wide_String;
From : Positive;
Going : Direction := Forward)
return Natural
renames Functions.Index;
function Index (
Source : Bounded_Wide_String;
Pattern : Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : Strings.Wide_Maps.Wide_Character_Mapping)
return Natural
renames Maps.Index;
-- function Index (
-- Source : Bounded_Wide_String;
-- Pattern : Wide_String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Index (
Source : Bounded_Wide_String;
Pattern : Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
return Natural
renames Maps.Index_Element;
function Index (
Source : Bounded_Wide_String;
Pattern : Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Maps.Index;
-- function Index (
-- Source : Bounded_Wide_String;
-- Pattern : Wide_String;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Index (
Source : Bounded_Wide_String;
Pattern : Wide_String;
Going : Direction := Forward)
return Natural
renames Functions.Index;
function Index (
Source : Bounded_Wide_String;
Pattern : Wide_String;
Going : Direction := Forward;
Mapping : Strings.Wide_Maps.Wide_Character_Mapping)
return Natural
renames Maps.Index;
-- function Index (
-- Source : Bounded_Wide_String;
-- Pattern : Wide_String;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Index (
Source : Bounded_Wide_String;
Pattern : Wide_String;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
return Natural
renames Maps.Index_Element;
function Index (
Source : Bounded_Wide_String;
Pattern : Wide_String;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Maps.Index;
-- function Count (
-- Source : Bounded_Wide_String;
-- Pattern : Wide_String;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Count (
Source : Bounded_Wide_String;
Pattern : Wide_String)
return Natural
renames Functions.Count;
function Count (
Source : Bounded_Wide_String;
Pattern : Wide_String;
Mapping : Strings.Wide_Maps.Wide_Character_Mapping)
return Natural
renames Maps.Count;
-- function Count (
-- Source : Bounded_Wide_String;
-- Pattern : Wide_String;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Count (
Source : Bounded_Wide_String;
Pattern : Wide_String;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
return Natural
renames Maps.Count_Element;
function Count (
Source : Bounded_Wide_String;
Pattern : Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Maps.Count;
function Translate (
Source : Bounded_Wide_String;
Mapping : Strings.Wide_Maps.Wide_Character_Mapping;
Drop : Truncation := Error) -- additional
return Bounded_Wide_String
renames Maps.Translate;
procedure Translate (
Source : in out Bounded_Wide_String;
Mapping : Strings.Wide_Maps.Wide_Character_Mapping;
Drop : Truncation := Error) -- additional
renames Maps.Translate;
-- function Translate (
-- Source : Bounded_Wide_String;
-- Mapping : Maps.Character_Mapping_Function)
-- return Bounded_Wide_String;
function Translate (
Source : Bounded_Wide_String;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
return Bounded_Wide_String
renames Maps.Translate_Element;
function Translate (
Source : Bounded_Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character;
Drop : Truncation := Error) -- additional
return Bounded_Wide_String
renames Maps.Translate;
-- procedure Translate (
-- Source : in out Bounded_Wide_String;
-- Mapping : Maps.Character_Mapping_Function);
procedure Translate (
Source : in out Bounded_Wide_String;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
renames Maps.Translate_Element;
procedure Translate (
Source : in out Bounded_Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character;
Drop : Truncation := Error) -- additional
renames Maps.Translate;
function Trim (
Source : Bounded_Wide_String;
Side : Trim_End;
Blank : Wide_Character := Wide_Space) -- additional
return Bounded_Wide_String
renames Functions.Trim;
procedure Trim (
Source : in out Bounded_Wide_String;
Side : Trim_End;
Blank : Wide_Character := Wide_Space) -- additional
renames Functions.Trim;
-- function Index (
-- Source : Wide_String;
-- Pattern : Wide_String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
-- return Natural;
function Index (
Source : Wide_String;
Pattern : Wide_String;
From : Positive;
Going : Direction := Forward)
return Natural
renames Wide_Functions.Index;
function Index (
Source : Wide_String;
Pattern : Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : Wide_Maps.Wide_Character_Mapping)
return Natural
renames Wide_Functions.Maps.Index;
-- function Index (
-- Source : Wide_String;
-- Pattern : Wide_String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Wide_Maps.Wide_Character_Mapping_Function)
-- return Natural;
function Index (
Source : Wide_String;
Pattern : Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
return Natural
renames Wide_Functions.Maps.Index_Element;
function Index (
Source : Wide_String;
Pattern : Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Wide_Functions.Maps.Index;
-- function Index (
-- Source : Wide_String;
-- Pattern : Wide_String;
-- Going : Direction := Forward;
-- Mapping : Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
-- return Natural;
function Index (
Source : Wide_String;
Pattern : Wide_String;
Going : Direction := Forward)
return Natural
renames Wide_Functions.Index;
function Index (
Source : Wide_String;
Pattern : Wide_String;
Going : Direction := Forward;
Mapping : Wide_Maps.Wide_Character_Mapping)
return Natural
renames Wide_Functions.Maps.Index;
-- function Index (
-- Source : Wide_String;
-- Pattern : Wide_String;
-- Going : Direction := Forward;
-- Mapping : Wide_Maps.Wide_Character_Mapping_Function)
-- return Natural;
function Index (
Source : Wide_String;
Pattern : Wide_String;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
return Natural
renames Wide_Functions.Maps.Index_Element;
function Index (
Source : Wide_String;
Pattern : Wide_String;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Wide_Functions.Maps.Index;
-- function Count (
-- Source : Wide_String;
-- Pattern : Wide_String;
-- Mapping : Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
-- return Natural;
function Count (
Source : Wide_String;
Pattern : Wide_String)
return Natural
renames Wide_Functions.Count;
function Count (
Source : Wide_String;
Pattern : Wide_String;
Mapping : Wide_Maps.Wide_Character_Mapping)
return Natural
renames Wide_Functions.Maps.Count;
-- function Count (
-- Source : Wide_String;
-- Pattern : Wide_String;
-- Mapping : Wide_Maps.Wide_Character_Mapping_Function)
-- return Natural;
function Count (
Source : Wide_String;
Pattern : Wide_String;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
return Natural
renames Wide_Functions.Maps.Count_Element;
function Count (
Source : Wide_String;
Pattern : Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Wide_Functions.Maps.Count;
procedure Translate (
Source : in out Wide_String;
Mapping : Wide_Maps.Wide_Character_Mapping;
Drop : Truncation := Error; -- additional
Justify : Alignment := Left; -- additional
Pad : Wide_Character := Wide_Space) -- additional
renames Wide_Functions.Maps.Translate;
-- function Translate (
-- Source : Wide_String;
-- Mapping : Wide_Maps.Wide_Character_Mapping_Function)
-- return Wide_String;
function Translate (
Source : Wide_String;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
return Wide_String
renames Wide_Functions.Maps.Translate_Element;
function Translate (
Source : Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Wide_String
renames Wide_Functions.Maps.Translate;
-- procedure Translate (
-- Source : in out Wide_String;
-- Mapping : Wide_Maps.Wide_Character_Mapping_Function);
procedure Translate (
Source : in out Wide_String;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
renames Wide_Functions.Maps.Translate_Element;
procedure Translate (
Source : in out Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character;
Drop : Truncation := Error; -- additional
Justify : Alignment := Left; -- additional
Pad : Wide_Character := Wide_Space) -- additional
renames Wide_Functions.Maps.Translate;
function Trim (
Source : Wide_String;
Side : Trim_End;
Blank : Wide_Character := Wide_Space) -- additional
return Wide_String
renames Wide_Functions.Trim;
procedure Trim (
Source : in out Wide_String;
Side : Trim_End;
Blank : Wide_Character;
Justify : Alignment := Left;
Pad : Wide_Character := Wide_Space)
renames Wide_Functions.Trim;
-- type Wide_Character_Set is private;
subtype Wide_Character_Set is Maps.Character_Set;
-- Null_Set : constant Wide_Character_Set;
function Null_Set return Wide_Character_Set
renames Maps.Null_Set;
-- type Wide_Character_Mapping is private;
subtype Wide_Character_Mapping is Maps.Character_Mapping;
-- Identity : constant Wide_Character_Mapping;
function Identity return Wide_Character_Mapping
renames Maps.Identity;
There are sets of unicode category.
function Unassigned_Set return Wide_Character_Set
renames Maps.Constants.Unassigned_Set;
function Uppercase_Letter_Set return Wide_Character_Set
renames Maps.Constants.Uppercase_Letter_Set;
function Lowercase_Letter_Set return Wide_Character_Set
renames Maps.Constants.Lowercase_Letter_Set;
function Titlecase_Letter_Set return Wide_Character_Set
renames Maps.Constants.Titlecase_Letter_Set;
function Modifier_Letter_Set return Wide_Character_Set
renames Maps.Constants.Modifier_Letter_Set;
function Other_Letter_Set return Wide_Character_Set
renames Maps.Constants.Other_Letter_Set;
function Decimal_Number_Set return Wide_Character_Set
renames Maps.Constants.Decimal_Number_Set;
function Letter_Number_Set return Wide_Character_Set
renames Maps.Constants.Letter_Number_Set;
function Other_Number_Set return Wide_Character_Set
renames Maps.Constants.Other_Number_Set;
function Line_Separator_Set return Wide_Character_Set
renames Maps.Constants.Line_Separator_Set;
function Paragraph_Separator_Set return Wide_Character_Set
renames Maps.Constants.Paragraph_Separator_Set;
function Control_Set return Wide_Character_Set
renames Maps.Constants.Control_Set;
function Format_Set return Wide_Character_Set
renames Maps.Constants.Format_Set;
function Private_Use_Set return Wide_Character_Set
renames Maps.Constants.Private_Use_Set;
function Surrogate_Set return Wide_Character_Set
renames Maps.Constants.Surrogate_Set;
function Base_Set return Wide_Character_Set
renames Maps.Constants.Base_Set;
function Case_Folding_Map return Wide_Character_Mapping
renames Maps.Constants.Case_Folding_Map;
-- Null_Unbounded_Wide_String : constant Unbounded_Wide_String;
function Null_Unbounded_Wide_String return Unbounded_Wide_String
renames Unbounded_Wide_Strings.Null_Unbounded_String;
-- function Index (
-- Source : Unbounded_Wide_String;
-- Pattern : Wide_String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
-- return Natural;
function Index (
Source : Unbounded_Wide_String;
Pattern : Wide_String;
From : Positive;
Going : Direction := Forward)
return Natural
renames Unbounded_Wide_Strings.Functions.Index;
function Index (
Source : Unbounded_Wide_String;
Pattern : Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : Wide_Maps.Wide_Character_Mapping)
return Natural
renames Unbounded_Wide_Strings.Functions.Maps.Index;
-- function Index (
-- Source : Unbounded_String;
-- Pattern : String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Wide_Maps.Wide_Character_Mapping_Function)
-- return Natural;
function Index (
Source : Unbounded_Wide_String;
Pattern : Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
return Natural
renames Unbounded_Wide_Strings.Functions.Maps.Index_Element;
function Index (
Source : Unbounded_Wide_String;
Pattern : Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Unbounded_Wide_Strings.Functions.Maps.Index;
-- function Index (
-- Source : Unbounded_Wide_String;
-- Pattern : Wide_String;
-- Going : Direction := Forward;
-- Mapping : Wide_Maps.Wide_Character_Mapping := Maps.Identity)
-- return Natural;
function Index (
Source : Unbounded_Wide_String;
Pattern : Wide_String;
Going : Direction := Forward)
return Natural
renames Unbounded_Wide_Strings.Functions.Index;
function Index (
Source : Unbounded_Wide_String;
Pattern : Wide_String;
Going : Direction := Forward;
Mapping : Wide_Maps.Wide_Character_Mapping)
return Natural
renames Unbounded_Wide_Strings.Functions.Maps.Index;
-- function Index (
-- Source : Unbounded_Wide_String;
-- Pattern : Wide_String;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Index (
Source : Unbounded_Wide_String;
Pattern : Wide_String;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
return Natural
renames Unbounded_Wide_Strings.Functions.Maps.Index_Element;
function Index (
Source : Unbounded_Wide_String;
Pattern : Wide_String;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Unbounded_Wide_Strings.Functions.Maps.Index;
-- function Count (
-- Source : Unbounded_Wide_String;
-- Pattern : Wide_String;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Count (
Source : Unbounded_Wide_String;
Pattern : Wide_String)
return Natural
renames Unbounded_Wide_Strings.Functions.Count;
function Count (
Source : Unbounded_Wide_String;
Pattern : Wide_String;
Mapping : Wide_Maps.Wide_Character_Mapping)
return Natural
renames Unbounded_Wide_Strings.Functions.Maps.Count;
-- function Count (
-- Source : Unbounded_Wide_String;
-- Pattern : Wide_String;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Count (
Source : Unbounded_Wide_String;
Pattern : Wide_String;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
return Natural
renames Unbounded_Wide_Strings.Functions.Maps.Count_Element;
function Count (
Source : Unbounded_Wide_String;
Pattern : Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Unbounded_Wide_Strings.Functions.Maps.Count;
-- function Translate (
-- Source : Unbounded_Wide_String;
-- Mapping : Maps.Character_Mapping_Function)
-- return Unbounded_Wide_String;
function Translate (
Source : Unbounded_Wide_String;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
return Unbounded_Wide_String
renames Unbounded_Wide_Strings.Functions.Maps.Translate_Element;
function Translate (
Source : Unbounded_Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Unbounded_Wide_String
renames Unbounded_Wide_Strings.Functions.Maps.Translate;
-- procedure Translate (
-- Source : in out Unbounded_Wide_String;
-- Mapping : Maps.Character_Mapping_Function);
procedure Translate (
Source : in out Unbounded_Wide_String;
Mapping : not null access function (From : Wide_Character)
return Wide_Character)
renames Unbounded_Wide_Strings.Functions.Maps.Translate_Element;
procedure Translate (
Source : in out Unbounded_Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
renames Unbounded_Wide_Strings.Functions.Maps.Translate;
function Trim (
Source : Unbounded_Wide_String;
Side : Trim_End;
Blank : Wide_Character := Wide_Space) -- additional
return Unbounded_Wide_String
renames Unbounded_Wide_Strings.Functions.Trim;
procedure Trim (
Source : in out Unbounded_Wide_String;
Side : Trim_End;
Blank : Wide_Character := Wide_Space) -- additional
renames Unbounded_Wide_Strings.Functions.Trim;
-- Null_Wide_Wide_Bounded_String : constant Bounded_Wide_Wide_String;
function Null_Bounded_Wide_Wide_String return Bounded_Wide_Wide_String
renames Bounded_Wide_Wide_Strings.Null_Bounded_String;
-- function Index (
-- Source : Bounded_Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Index (
Source : Bounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
From : Positive;
Going : Direction := Forward)
return Natural
renames Functions.Index;
function Index (
Source : Bounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : Strings.Wide_Wide_Maps.Wide_Wide_Character_Mapping)
return Natural
renames Maps.Index;
-- function Index (
-- Source : Bounded_Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Index (
Source : Bounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Maps.Index_Element;
-- function Index (
-- Source : Bounded_Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Index (
Source : Bounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
Going : Direction := Forward)
return Natural
renames Functions.Index;
function Index (
Source : Bounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
Going : Direction := Forward;
Mapping : Strings.Wide_Wide_Maps.Wide_Wide_Character_Mapping)
return Natural
renames Maps.Index;
-- function Index (
-- Source : Bounded_Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- Going : Direction := Forward;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Index (
Source : Bounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Maps.Index_Element;
-- function Count (
-- Source : Bounded_Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- Mapping : Maps.Character_Mapping := Maps.Identity)
-- return Natural;
function Count (
Source : Bounded_Wide_Wide_String;
Pattern : Wide_Wide_String)
return Natural
renames Functions.Count;
function Count (
Source : Bounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
Mapping : Strings.Wide_Wide_Maps.Wide_Wide_Character_Mapping)
return Natural
renames Maps.Count;
-- function Count (
-- Source : Bounded_Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Count (
Source : Bounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Maps.Count_Element;
function Translate (
Source : Bounded_Wide_Wide_String;
Mapping : Strings.Wide_Wide_Maps.Wide_Wide_Character_Mapping;
Drop : Truncation := Error) -- additional
return Bounded_Wide_Wide_String
renames Maps.Translate;
procedure Translate (
Source : in out Bounded_Wide_Wide_String;
Mapping : Strings.Wide_Wide_Maps.Wide_Wide_Character_Mapping;
Drop : Truncation := Error) -- additional
renames Maps.Translate;
-- function Translate (
-- Source : Bounded_Wide_Wide_String;
-- Mapping : Maps.Character_Mapping_Function)
-- return Bounded_Wide_Wide_String;
function Translate (
Source : Bounded_Wide_Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Bounded_Wide_Wide_String
renames Maps.Translate_Element;
-- procedure Translate (
-- Source : in out Bounded_Wide_Wide_String;
-- Mapping : Maps.Character_Mapping_Function);
procedure Translate (
Source : in out Bounded_Wide_Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
renames Maps.Translate_Element;
function Trim (
Source : Bounded_Wide_Wide_String;
Side : Trim_End;
Blank : Wide_Wide_Character := Wide_Wide_Space) -- additional
return Bounded_Wide_Wide_String
renames Functions.Trim;
procedure Trim (
Source : in out Bounded_Wide_Wide_String;
Side : Trim_End;
Blank : Wide_Wide_Character := Wide_Wide_Space) -- additional
renames Functions.Trim;
-- function Index (
-- Source : Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
-- Wide_Wide_Maps.Identity)
-- return Natural;
function Index (
Source : Wide_Wide_String;
Pattern : Wide_Wide_String;
From : Positive;
Going : Direction := Forward)
return Natural
renames Wide_Wide_Functions.Index;
function Index (
Source : Wide_Wide_String;
Pattern : Wide_Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping)
return Natural
renames Wide_Wide_Functions.Maps.Index;
-- function Index (
-- Source : Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
-- return Natural;
function Index (
Source : Wide_Wide_String;
Pattern : Wide_Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Wide_Wide_Functions.Maps.Index_Element;
-- function Index (
-- Source : Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- Going : Direction := Forward;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
-- Wide_Wide_Maps.Identity)
-- return Natural;
function Index (
Source : Wide_Wide_String;
Pattern : Wide_Wide_String;
Going : Direction := Forward)
return Natural
renames Wide_Wide_Functions.Index;
function Index (
Source : Wide_Wide_String;
Pattern : Wide_Wide_String;
Going : Direction := Forward;
Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping)
return Natural
renames Wide_Wide_Functions.Maps.Index;
-- function Index (
-- Source : Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- Going : Direction := Forward;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
-- return Natural;
function Index (
Source : Wide_Wide_String;
Pattern : Wide_Wide_String;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Wide_Wide_Functions.Maps.Index_Element;
-- function Count (
-- Source : Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
-- Wide_Wide_Maps.Identity)
-- return Natural;
function Count (
Source : Wide_Wide_String;
Pattern : Wide_Wide_String)
return Natural
renames Wide_Wide_Functions.Count;
function Count (
Source : Wide_Wide_String;
Pattern : Wide_Wide_String;
Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping)
return Natural
renames Wide_Wide_Functions.Maps.Count;
-- function Count (
-- Source : Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
-- return Natural;
function Count (
Source : Wide_Wide_String;
Pattern : Wide_Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Wide_Wide_Functions.Maps.Count_Element;
procedure Translate (
Source : in out Wide_Wide_String;
Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping;
Drop : Truncation := Error; -- additional
Justify : Alignment := Left; -- additional
Pad : Wide_Wide_Character := Wide_Wide_Space) -- additional
renames Wide_Wide_Functions.Maps.Translate;
-- function Translate (
-- Source : Wide_Wide_String;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
-- return Wide_Wide_String;
function Translate (
Source : Wide_Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Wide_Wide_String
renames Wide_Wide_Functions.Maps.Translate_Element;
-- procedure Translate (
-- Source : in out Wide_Wide_String;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function);
procedure Translate (
Source : in out Wide_Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
renames Wide_Wide_Functions.Maps.Translate_Element;
function Trim (
Source : Wide_Wide_String;
Side : Trim_End;
Blank : Wide_Wide_Character := Wide_Wide_Space) -- additional
return Wide_Wide_String
renames Wide_Wide_Functions.Trim;
procedure Trim (
Source : in out Wide_Wide_String;
Side : Trim_End;
Blank : Wide_Wide_Character;
Justify : Alignment := Left;
Pad : Wide_Wide_Character := Wide_Wide_Space)
renames Wide_Wide_Functions.Trim;
-- type Wide_Wide_Character_Set is private;
subtype Wide_Wide_Character_Set is Maps.Character_Set;
-- Null_Set : constant Wide_Wide_Character_Set;
function Null_Set return Wide_Wide_Character_Set
renames Maps.Null_Set;
-- type Wide_Wide_Character_Mapping is private;
subtype Wide_Wide_Character_Mapping is Maps.Character_Mapping;
-- Identity : constant Wide_Wide_Character_Mapping;
function Identity return Wide_Wide_Character_Mapping
renames Maps.Identity;
There are sets of unicode category.
function Unassigned_Set return Wide_Wide_Character_Set
renames Maps.Constants.Unassigned_Set;
function Uppercase_Letter_Set return Wide_Wide_Character_Set
renames Maps.Constants.Uppercase_Letter_Set;
function Lowercase_Letter_Set return Wide_Wide_Character_Set
renames Maps.Constants.Lowercase_Letter_Set;
function Titlecase_Letter_Set return Wide_Wide_Character_Set
renames Maps.Constants.Titlecase_Letter_Set;
function Modifier_Letter_Set return Wide_Wide_Character_Set
renames Maps.Constants.Modifier_Letter_Set;
function Other_Letter_Set return Wide_Wide_Character_Set
renames Maps.Constants.Other_Letter_Set;
function Decimal_Number_Set return Wide_Wide_Character_Set
renames Maps.Constants.Decimal_Number_Set;
function Letter_Number_Set return Wide_Wide_Character_Set
renames Maps.Constants.Letter_Number_Set;
function Other_Number_Set return Wide_Wide_Character_Set
renames Maps.Constants.Other_Number_Set;
function Line_Separator_Set return Wide_Wide_Character_Set
renames Maps.Constants.Line_Separator_Set;
function Paragraph_Separator_Set return Wide_Wide_Character_Set
renames Maps.Constants.Paragraph_Separator_Set;
function Control_Set return Wide_Wide_Character_Set
renames Maps.Constants.Control_Set;
function Format_Set return Wide_Wide_Character_Set
renames Maps.Constants.Format_Set;
function Private_Use_Set return Wide_Wide_Character_Set
renames Maps.Constants.Private_Use_Set;
function Surrogate_Set return Wide_Wide_Character_Set
renames Maps.Constants.Surrogate_Set;
function Base_Set return Wide_Wide_Character_Set
renames Maps.Constants.Base_Set;
function Case_Folding_Map return Wide_Wide_Character_Mapping
renames Maps.Constants.Case_Folding_Map;
-- Null_Unbounded_Wide_Wide_String : constant Unbounded_Wide_Wide_String;
function Null_Unbounded_Wide_Wide_String return Unbounded_Wide_Wide_String
renames Unbounded_Wide_Wide_Strings.Null_Unbounded_String;
-- function Index (
-- Source : Unbounded_Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
-- Wide_Wide_Maps.Identity)
-- return Natural;
function Index (
Source : Unbounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
From : Positive;
Going : Direction := Forward)
return Natural
renames Unbounded_Wide_Wide_Strings.Functions.Index;
function Index (
Source : Unbounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping)
return Natural
renames Unbounded_Wide_Wide_Strings.Functions.Maps.Index;
-- function Index (
-- Source : Unbounded_Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- From : Positive;
-- Going : Direction := Forward;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
-- return Natural;
function Index (
Source : Unbounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
From : Positive;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Unbounded_Wide_Wide_Strings.Functions.Maps.Index_Element;
-- function Index (
-- Source : Unbounded_Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- Going : Direction := Forward;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
-- Wide_Wide_Maps.Identity)
-- return Natural;
function Index (
Source : Unbounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
Going : Direction := Forward)
return Natural
renames Unbounded_Wide_Wide_Strings.Functions.Index;
function Index (
Source : Unbounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
Going : Direction := Forward;
Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping)
return Natural
renames Unbounded_Wide_Wide_Strings.Functions.Maps.Index;
-- function Index (
-- Source : Unbounded_Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- Going : Direction := Forward;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
-- return Natural;
function Index (
Source : Unbounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
Going : Direction := Forward;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Unbounded_Wide_Wide_Strings.Functions.Maps.Index_Element;
-- function Count (
-- Source : Unbounded_Wide_Wide_String;
-- Pattern : Wide_Wide_String;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
-- Wide_Wide_Maps.Identity)
-- return Natural;
function Count (
Source : Unbounded_Wide_Wide_String;
Pattern : Wide_Wide_String)
return Natural
renames Unbounded_Wide_Wide_Strings.Functions.Count;
function Count (
Source : Unbounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping)
return Natural
renames Unbounded_Wide_Wide_Strings.Functions.Maps.Count;
-- function Count (
-- Source : Unbounded_String;
-- Pattern : String;
-- Mapping : Maps.Character_Mapping_Function)
-- return Natural;
function Count (
Source : Unbounded_Wide_Wide_String;
Pattern : Wide_Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Natural
renames Unbounded_Wide_Wide_Strings.Functions.Maps.Count_Element;
-- function Translate (
-- Source : Unbounded_Wide_Wide_String;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
-- return Unbounded_Wide_Wide_String;
function Translate (
Source : Unbounded_Wide_Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
return Unbounded_Wide_Wide_String
renames Unbounded_Wide_Wide_Strings.Functions.Maps.Translate_Element;
-- procedure Translate (
-- Source : in out Unbounded_Wide_Wide_String;
-- Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function);
procedure Translate (
Source : in out Unbounded_Wide_Wide_String;
Mapping : not null access function (From : Wide_Wide_Character)
return Wide_Wide_Character)
renames Unbounded_Wide_Wide_Strings.Functions.Maps.Translate_Element;
function Trim (
Source : Unbounded_Wide_Wide_String;
Side : Trim_End;
Blank : Wide_Wide_Character := Wide_Wide_Space) -- additional
return Unbounded_Wide_Wide_String
renames Unbounded_Wide_Wide_Strings.Functions.Trim;
procedure Trim (
Source : in out Unbounded_Wide_Wide_String;
Side : Trim_End;
Blank : Wide_Wide_Character := Wide_Wide_Space) -- additional
renames Unbounded_Wide_Wide_Strings.Functions.Trim;
procedure Suspend_Until_True (
S : in out Suspension_Object;
Multi : Boolean := False); -- additional
If State is True, Set_True is called, otherwise it's timeout.
procedure Suspend_Until_True_And_Set_Deadline (
S : in out Suspension_Object;
TS : Real_Time.Time_Span;
State : out Boolean);
type String_Access is access String;
procedure Free is
new Unchecked_Deallocation (String, String_Access);
type Wide_String_Access is access Wide_String;
procedure Free is
new Unchecked_Deallocation (Wide_String, Wide_String_Access);
type Wide_Wide_String_Access is access Wide_Wide_String;
procedure Free is
new Unchecked_Deallocation (Wide_Wide_String, Wide_Wide_String_Access);
procedure Create (
File : in out File_Type;
Mode : File_Mode := Out_File;
Name : String := "";
Form : String); -- removed default
procedure Create (
File : in out File_Type;
Mode : File_Mode := Out_File;
Name : String := "";
Shared : IO_Modes.File_Shared_Spec := IO_Modes.By_Mode;
Wait : Boolean := False;
Overwrite : Boolean := True;
External : IO_Modes.File_External_Spec := IO_Modes.By_Target;
New_Line : IO_Modes.File_New_Line_Spec := IO_Modes.By_Target);
function Create (
Mode : File_Mode := Out_File;
Name : String := "";
Shared : IO_Modes.File_Shared_Spec := IO_Modes.By_Mode;
Wait : Boolean := False;
Overwrite : Boolean := True;
External : IO_Modes.File_External_Spec := IO_Modes.By_Target;
New_Line : IO_Modes.File_New_Line_Spec := IO_Modes.By_Target)
return File_Type;
procedure Open (
File : in out File_Type;
Mode : File_Mode;
Name : String;
Form : String); -- removed default
procedure Open (
File : in out File_Type;
Mode : File_Mode;
Name : String;
Shared : IO_Modes.File_Shared_Spec := IO_Modes.By_Mode;
Wait : Boolean := False;
Overwrite : Boolean := True;
External : IO_Modes.File_External_Spec := IO_Modes.By_Target;
New_Line : IO_Modes.File_New_Line_Spec := IO_Modes.By_Target);
function Open (
Mode : File_Mode;
Name : String;
Shared : IO_Modes.File_Shared_Spec := IO_Modes.By_Mode;
Wait : Boolean := False;
Overwrite : Boolean := True;
External : IO_Modes.File_External_Spec := IO_Modes.By_Target;
New_Line : IO_Modes.File_New_Line_Spec := IO_Modes.By_Target)
return File_Type;
procedure Overloaded_Get (
File : File_Type; -- Input_File_Type
Item : out Character);
procedure Overloaded_Get (
File : File_Type; -- Input_File_Type
Item : out Wide_Character);
procedure Overloaded_Get (
File : File_Type; -- Input_File_Type
Item : out Wide_Wide_Character);
procedure Overloaded_Get (Item : out Character);
procedure Overloaded_Get (Item : out Wide_Character);
procedure Overloaded_Get (Item : out Wide_Wide_Character);
procedure Overloaded_Put (
File : File_Type; -- Output_File_Type
Item : Character);
procedure Overloaded_Put (
File : File_Type; -- Output_File_Type
Item : Wide_Character);
procedure Overloaded_Put (
File : File_Type; -- Output_File_Type
Item : Wide_Wide_Character);
procedure Overloaded_Put (Item : Character);
procedure Overloaded_Put (Item : Wide_Character);
procedure Overloaded_Put (Item : Wide_Wide_Character);
procedure Overloaded_Look_Ahead (
File : File_Type; -- Input_File_Type
Item : out Character;
End_Of_Line : out Boolean);
procedure Overloaded_Look_Ahead (
File : File_Type; -- Input_File_Type
Item : out Wide_Character;
End_Of_Line : out Boolean);
procedure Overloaded_Look_Ahead (
File : File_Type; -- Input_File_Type
Item : out Wide_Wide_Character;
End_Of_Line : out Boolean);
procedure Overloaded_Look_Ahead (
Item : out Character;
End_Of_Line : out Boolean);
procedure Overloaded_Look_Ahead (
Item : out Wide_Character;
End_Of_Line : out Boolean);
procedure Overloaded_Look_Ahead (
Item : out Wide_Wide_Character;
End_Of_Line : out Boolean);
Skip one character or mark of new-line looked by last calling of Look_Ahead.
procedure Skip_Ahead (
File : File_Type); -- Input_File_Type
procedure Overloaded_Get_Immediate (
File : File_Type; -- Input_File_Type
Item : out Character);
procedure Overloaded_Get_Immediate (
File : File_Type; -- Input_File_Type
Item : out Wide_Character);
procedure Overloaded_Get_Immediate (
File : File_Type; -- Input_File_Type
Item : out Wide_Wide_Character);
procedure Overloaded_Get_Immediate (Item : out Character);
procedure Overloaded_Get_Immediate (Item : out Wide_Character);
procedure Overloaded_Get_Immediate (Item : out Wide_Wide_Character);
procedure Overloaded_Get_Immediate (
File : File_Type; -- Input_File_Type
Item : out Character;
Available : out Boolean);
procedure Overloaded_Get_Immediate (
File : File_Type; -- Input_File_Type
Item : out Wide_Character;
Available : out Boolean);
procedure Overloaded_Get_Immediate (
File : File_Type; -- Input_File_Type
Item : out Wide_Wide_Character;
Available : out Boolean);
procedure Overloaded_Get_Immediate (
Item : out Character;
Available : out Boolean);
procedure Overloaded_Get_Immediate (
Item : out Wide_Character;
Available : out Boolean);
procedure Overloaded_Get_Immediate (
Item : out Wide_Wide_Character;
Available : out Boolean);
procedure Overloaded_Get (
File : File_Type; -- Input_File_Type
Item : out String);
procedure Overloaded_Get (
File : File_Type; -- Input_File_Type
Item : out Wide_String);
procedure Overloaded_Get (
File : File_Type; -- Input_File_Type
Item : out Wide_Wide_String);
procedure Overloaded_Get (Item : out String);
procedure Overloaded_Get (Item : out Wide_String);
procedure Overloaded_Get (Item : out Wide_Wide_String);
procedure Overloaded_Put (
File : File_Type; -- Output_File_Type
Item : String);
procedure Overloaded_Put (
File : File_Type; -- Output_File_Type
Item : Wide_String);
procedure Overloaded_Put (
File : File_Type; -- Output_File_Type
Item : Wide_Wide_String);
procedure Overloaded_Put (Item : String);
procedure Overloaded_Put (Item : Wide_String);
procedure Overloaded_Put (Item : Wide_Wide_String);
procedure Overloaded_Get_Line (
File : File_Type; -- Input_File_Type
Item : out String;
Last : out Natural);
procedure Overloaded_Get_Line (
File : File_Type; -- Input_File_Type
Item : out Wide_String;
Last : out Natural);
procedure Overloaded_Get_Line (
File : File_Type; -- Input_File_Type
Item : out Wide_Wide_String;
Last : out Natural);
procedure Overloaded_Get_Line (
Item : out String;
Last : out Natural);
procedure Overloaded_Get_Line (
Item : out Wide_String;
Last : out Natural);
procedure Overloaded_Get_Line (
Item : out Wide_Wide_String;
Last : out Natural);
procedure Overloaded_Get_Line (
File : File_Type; -- Input_File_Type
Item : out String_Access);
procedure Overloaded_Get_Line (
File : File_Type; -- Input_File_Type
Item : out Wide_String_Access);
procedure Overloaded_Get_Line (
File : File_Type; -- Input_File_Type
Item : out Wide_Wide_String_Access);
function Overloaded_Get_Line (
File : File_Type) -- Input_File_Type
return String;
function Overloaded_Get_Line (
File : File_Type) -- Input_File_Type
return Wide_String;
function Overloaded_Get_Line (
File : File_Type) -- Input_File_Type
return Wide_Wide_String;
function Overloaded_Get_Line return String;
function Overloaded_Get_Line return Wide_String;
function Overloaded_Get_Line return Wide_Wide_String;
procedure Overloaded_Put_Line (
File : File_Type; -- Output_File_Type
Item : String);
procedure Overloaded_Put_Line (
File : File_Type; -- Output_File_Type
Item : Wide_String);
procedure Overloaded_Put_Line (
File : File_Type; -- Output_File_Type
Item : Wide_Wide_String);
procedure Overloaded_Put_Line (Item : String);
procedure Overloaded_Put_Line (Item : Wide_String);
procedure Overloaded_Put_Line (Item : Wide_Wide_String);
procedure Overloaded_Get (
From : String;
Item : out Complex_Types.Complex;
Last : out Positive);
procedure Overloaded_Get (
From : Wide_String;
Item : out Complex_Types.Complex;
Last : out Positive);
procedure Overloaded_Get (
From : Wide_Wide_String;
Item : out Complex_Types.Complex;
Last : out Positive);
procedure Overloaded_Put (
To : out String;
Item : Complex_Types.Complex;
Aft : Field := Default_Aft;
Exp : Field := Default_Exp);
procedure Overloaded_Put (
To : out Wide_String;
Item : Complex_Types.Complex;
Aft : Field := Default_Aft;
Exp : Field := Default_Exp);
procedure Overloaded_Put (
To : out Wide_Wide_String;
Item : Complex_Types.Complex;
Aft : Field := Default_Aft;
Exp : Field := Default_Exp);
function Overloaded_Length (Pic : Picture; Currency : String)
return Natural;
function Overloaded_Length (Pic : Picture; Currency : Wide_String)
return Natural;
function Overloaded_Length (Pic : Picture; Currency : Wide_Wide_String)
return Natural;
function Overloaded_Valid (
Item : Num;
Pic : Picture;
Currency : String)
return Boolean;
function Overloaded_Valid (
Item : Num;
Pic : Picture;
Currency : Wide_String)
return Boolean;
function Overloaded_Valid (
Item : Num;
Pic : Picture;
Currency : Wide_Wide_String)
return Boolean;
function Overloaded_Image (
Item : Num;
Pic : Picture;
Currency : String;
Fill : Character;
Separator : Character;
Radix_Mark : Character)
return String;
function Overloaded_Image (
Item : Num;
Pic : Picture;
Currency : Wide_String;
Fill : Wide_Character;
Separator : Wide_Character;
Radix_Mark : Wide_Character)
return Wide_String;
function Overloaded_Image (
Item : Num;
Pic : Picture;
Currency : Wide_Wide_String;
Fill : Wide_Wide_Character;
Separator : Wide_Wide_Character;
Radix_Mark : Wide_Wide_Character)
return Wide_Wide_String;
procedure Overloaded_Put (
File : File_Type; -- Output_File_Type
Item : Num;
Pic : Picture;
Currency : String;
Fill : Character;
Separator : Character;
Radix_Mark : Character);
procedure Overloaded_Put (
File : File_Type; -- Output_File_Type
Item : Num;
Pic : Picture;
Currency : Wide_String;
Fill : Wide_Character;
Separator : Wide_Character;
Radix_Mark : Wide_Character);
procedure Overloaded_Put (
File : File_Type; -- Output_File_Type
Item : Num;
Pic : Picture;
Currency : Wide_Wide_String;
Fill : Wide_Wide_Character;
Separator : Wide_Wide_Character;
Radix_Mark : Wide_Wide_Character);
procedure Overloaded_Put (
Item : Num;
Pic : Picture;
Currency : String;
Fill : Character;
Separator : Character;
Radix_Mark : Character);
procedure Overloaded_Put (
Item : Num;
Pic : Picture;
Currency : Wide_String;
Fill : Wide_Character;
Separator : Wide_Character;
Radix_Mark : Wide_Character);
procedure Overloaded_Put (
Item : Num;
Pic : Picture;
Currency : Wide_Wide_String;
Fill : Wide_Wide_Character;
Separator : Wide_Wide_Character;
Radix_Mark : Wide_Wide_Character);
procedure Overloaded_Put (
To : out String;
Item : Num;
Pic : Picture;
Currency : String;
Fill : Character;
Separator : Character;
Radix_Mark : Character);
procedure Overloaded_Put (
To : out Wide_String;
Item : Num;
Pic : Picture;
Currency : Wide_String;
Fill : Wide_Character;
Separator : Wide_Character;
Radix_Mark : Wide_Character);
procedure Overloaded_Put (
To : out Wide_Wide_String;
Item : Num;
Pic : Picture;
Currency : Wide_Wide_String;
Fill : Wide_Wide_Character;
Separator : Wide_Wide_Character;
Radix_Mark : Wide_Wide_Character);
This subprogram is used in Complex_IO.
procedure Put (
To : out String;
Last : out Natural;
Item : Num;
Aft : Field := Default_Aft;
Exp : Field := Default_Exp);
procedure Open (
File : in out File_Type;
Mode : File_Mode;
Stream : Stream_Access;
Name : String := "";
Form : String); -- removed default
procedure Open (
File : in out File_Type;
Mode : File_Mode;
Stream : Stream_Access;
Name : String := "";
Shared : IO_Modes.File_Shared_Spec := IO_Modes.By_Mode;
Wait : Boolean := False;
Overwrite : Boolean := True;
External : IO_Modes.File_External_Spec := IO_Modes.By_Target;
New_Line : IO_Modes.File_New_Line_Spec := IO_Modes.By_Target);
function Open (
Mode : File_Mode;
Stream : Stream_Access;
Name : String := "";
Shared : IO_Modes.File_Shared_Spec := IO_Modes.By_Mode;
Wait : Boolean := False;
Overwrite : Boolean := True;
External : IO_Modes.File_External_Spec := IO_Modes.By_Target;
New_Line : IO_Modes.File_New_Line_Spec := IO_Modes.By_Target)
return File_Type;
-- type File_Type is limited private;
subtype File_Type is Text_IO.File_Type;
-- type Picture is private;
subtype Picture is Text_IO.Editing.Picture;
-- type File_Type is limited private;
subtype File_Type is Text_IO.File_Type;
-- type Picture is private;
subtype Picture is Text_IO.Editing.Picture;
function To_char (
Item : Character;
Substitute : char) -- Windows only
return char;
function To_char (
Item : Character)
return char;
function To_Character (
Item : char;
Substitute : Character) -- Windows only
return Character;
function To_Character (
Item : char)
return Character;
function Length (Item : char_array) return size_t;
function To_char_array (
Item : String;
Append_Nul : Boolean := True;
Substitute : char_array := (0 => '?')) -- Windows only
return char_array;
function To_C (
Item : String;
Append_Nul : Boolean := True;
Substitute : char_array := (0 => '?')) -- additional
return char_array
renames To_char_array;
function To_String (
Item : char_array;
Trim_Nul : Boolean := True;
Substitute : String := "?") -- unreferenced
return String;
function To_Ada (
Item : char_array;
Trim_Nul : Boolean := True;
Substitute : String := "?") -- additional
return String
renames To_String;
procedure To_char_array (
Item : String;
Target : out char_array;
Count : out size_t;
Append_Nul : Boolean := True;
Substitute : char_array := (0 => '?')); -- Windows only
procedure To_C (
Item : String;
Target : out char_array;
Count : out size_t;
Append_Nul : Boolean := True;
Substitute : char_array := (0 => '?')) -- additional
renames To_char_array;
procedure To_String (
Item : char_array;
Target : out String;
Count : out Natural;
Trim_Nul : Boolean := True;
Substitute : String := "?"); -- unreferenced
procedure To_Ada (
Item : char_array;
Target : out String;
Count : out Natural;
Trim_Nul : Boolean := True;
Substitute : String := "?") -- additional
renames To_String;
function To_wchar_t (
Item : Wide_Character;
Substitute : wchar_t) -- POSIX only
return wchar_t;
function To_wchar_t (
Item : Wide_Character)
return wchar_t;
function To_Wide_Character (
Item : wchar_t;
Substitute : Wide_Character) -- POSIX only
return Wide_Character;
function To_Wide_Character (
Item : wchar_t)
return Wide_Character;
function Length (Item : wchar_array) return size_t;
function To_wchar_array (
Item : Wide_String;
Append_Nul : Boolean := True;
Substitute : wchar_array := (0 => Character'Pos ('?'))) -- POSIX only
return wchar_array;
function To_C (
Item : Wide_String;
Append_Nul : Boolean := True;
Substitute : wchar_array := (0 => Character'Pos ('?'))) -- additional
return wchar_array
renames To_wchar_array;
function To_Wide_String (
Item : wchar_array;
Trim_Nul : Boolean := True;
Substitute : Wide_String := "?") -- POSIX only
return Wide_String;
function To_Ada (
Item : wchar_array;
Trim_Nul : Boolean := True;
Substitute : Wide_String := "?") -- additional
return Wide_String
renames To_Wide_String;
procedure To_wchar_array (
Item : Wide_String;
Target : out wchar_array;
Count : out size_t;
Append_Nul : Boolean := True;
Substitute : wchar_array := (0 => Character'Pos ('?'))); -- POSIX only
procedure To_C (
Item : Wide_String;
Target : out wchar_array;
Count : out size_t;
Append_Nul : Boolean := True;
Substitute : wchar_array := (0 => Character'Pos ('?'))) -- additional
renames To_wchar_array;
procedure To_Wide_String (
Item : wchar_array;
Target : out Wide_String;
Count : out Natural;
Trim_Nul : Boolean := True;
Substitute : Wide_String := "?"); -- POSIX only
procedure To_Ada (
Item : wchar_array;
Target : out Wide_String;
Count : out Natural;
Trim_Nul : Boolean := True;
Substitute : Wide_String := "?") -- additional
renames To_Wide_String;
Wide Wide Character and Wide Wide String:
function To_wchar_t (
Item : Wide_Wide_Character;
Substitute : wchar_t := Character'Pos ('?')) -- Windows only
return wchar_t;
function To_Wide_Wide_Character (
Item : wchar_t;
Substitute : Wide_Wide_Character := '?') -- Windows only
return Wide_Wide_Character;
function To_wchar_array (
Item : Wide_Wide_String;
Append_Nul : Boolean := True;
Substitute : wchar_array := (0 => Character'Pos ('?'))) -- Windows only
return wchar_array;
function To_Wide_Wide_String (
Item : wchar_array;
Trim_Nul : Boolean := True;
Substitute : Wide_Wide_String := "?") -- Windows only
return Wide_Wide_String;
procedure To_wchar_array (
Item : Wide_Wide_String;
Target : out wchar_array;
Count : out size_t;
Append_Nul : Boolean := True;
Substitute : wchar_array := (0 => Character'Pos ('?'))); -- Windows only
procedure To_Wide_Wide_String (
Item : wchar_array;
Target : out Wide_Wide_String;
Count : out Natural;
Trim_Nul : Boolean := True;
Substitute : Wide_Wide_String := "?"); -- Windows only
function Length (Item : char16_array) return size_t;
function To_C (
Item : Wide_String;
Append_Nul : Boolean := True;
Substitute : char16_array := "?") -- additional, and unreferenced
return char16_array;
function To_Ada (
Item : char16_array;
Trim_Nul : Boolean := True;
Substitute : Wide_String := "?") -- additional, and unreferenced
return Wide_String;
procedure To_C (
Item : Wide_String;
Target : out char16_array;
Count : out size_t;
Append_Nul : Boolean := True;
Substitute : char16_array := "?"); -- additional, and unreferenced
procedure To_Ada (
Item : char16_array;
Target : out Wide_String;
Count : out Natural;
Trim_Nul : Boolean := True;
Substitute : Wide_String := "?"); -- additional, and unreferenced
function Length (Item : char32_array) return size_t;
function To_C (
Item : Wide_Wide_String;
Append_Nul : Boolean := True;
Substitute : char32_array := "?") -- additional, and unreferenced
return char32_array;
function To_Ada (
Item : char32_array;
Trim_Nul : Boolean := True;
Substitute : Wide_Wide_String := "?") -- additional, and unreferenced
return Wide_Wide_String;
procedure To_C (
Item : Wide_Wide_String;
Target : out char32_array;
Count : out size_t;
Append_Nul : Boolean := True;
Substitute : char32_array := "?"); -- additional, and unreferenced
procedure To_Ada (
Item : char32_array;
Target : out Wide_Wide_String;
Count : out Natural;
Trim_Nul : Boolean := True;
Substitute : Wide_Wide_String := "?"); -- additional, and unreferenced
Common to instances of Interfaces.C.Pointers.
Pointer_Error : exception;
Common to instances of Interfaces.C.Generic_Strings.
Dereference_Error : exception;
Update_Error : exception;
for Pointer'Storage_Size use 0;
type Constant_Pointer is access constant Element;
for Constant_Pointer'Storage_Size use 0;
function "+" (
Left : ptrdiff_t;
Right : not null Pointer) -- null exclusion
return not null Pointer;
-- function "-" (Left : Pointer; Right : Pointer) return ptrdiff_t;
function "-" (
Left : not null Pointer; -- null exclusion
Right : not null access constant Element)
return ptrdiff_t;
procedure Increment (
Ref : in out not null Pointer); -- null exclusion
function "+" (Left : not null Constant_Pointer; Right : ptrdiff_t)
return not null Constant_Pointer;
function "+" (Left : ptrdiff_t; Right : not null Constant_Pointer)
return not null Constant_Pointer;
function "-" (Left : not null Constant_Pointer; Right : ptrdiff_t)
return not null Constant_Pointer;
function "-" (
Left : not null Constant_Pointer;
Right : not null access constant Element)
return ptrdiff_t;
procedure Increment (Ref : in out not null Constant_Pointer);
procedure Decrement (Ref : in out not null Constant_Pointer);
This overloaded version Virtual_Length gets the length of Ref less than or equal to Limit.
function Virtual_Length (
Ref : not null access constant Element;
Limit : ptrdiff_t;
Terminator : Element := Default_Terminator)
return ptrdiff_t;
-- Ada_To_COBOL : array (Character) of COBOL_Character :=
-- implementation-defined;
function Ada_To_COBOL (
Item : Character;
Substitute : COBOL_Character := '?')
return COBOL_Character;
-- COBOL_To_Ada : array (COBOL_Character) of Character :=
-- implementation-defined;
function COBOL_To_Ada (
Item : COBOL_Character;
Substitute : Character := '?')
return Character;
function To_COBOL (
Item : String;
Substitute : Alphanumeric := "?") -- additional
return Alphanumeric;
function To_Ada (
Item : Alphanumeric;
Substitute : String := "?") -- additional
return String;
procedure To_COBOL (
Item : String;
Target : out Alphanumeric;
Last : out Natural;
Substitute : Alphanumeric := "?"); -- additional
procedure To_Ada (
Item : Alphanumeric;
Target : out String;
Last : out Natural;
Substitute : String := "?"); -- additional
-- i : Imaginary renames Single_Precision_Complex_Types.i;
-- j : Imaginary renames Single_Precision_Complex_Types.j;
function i return Imaginary renames Single_Precision_Complex_Types.i;
function j return Imaginary renames Single_Precision_Complex_Types.j;
function To_Fortran (
Item : Character;
Substitute : Character_Set := '?') -- additional
return Character_Set;
function To_Ada (
Item : Character_Set;
Substitute : Character := '?') -- additional
return Character;
function To_Fortran (
Item : String;
Substitute : Fortran_Character := "?") -- additional
return Fortran_Character;
function To_Ada (
Item : Fortran_Character;
Substitute : String := "?") -- additional, and unreferenced
return String;
procedure To_Fortran (
Item : String;
Target : out Fortran_Character;
Last : out Natural;
Substitute : Fortran_Character := "?"); -- additional
procedure To_Ada (
Item : Fortran_Character;
Target : out String;
Last : out Natural;
Substitute : String := "?"); -- additional, and unreferenced
Shift_Left, Shift_Right, Shift_Right_Arithmetic, Rotate_Left, and Rotate_Right.
pragma Provide_Shift_Operators (Storage_Element);
pragma Provide_Shift_Operators (Integer_Address);
This is same as/called from Ada.Unchecked_Deallocate_Subpool.
procedure Unchecked_Deallocate_Subpool (Subpool : in out Subpool_Handle);
This is similar to Ada.Environment_Variables, but reads bind-time variables set by gnatbind -Vkey=val.
Alternative version of Standard.ASCII.
There are functions handling only lower-half characters in 16#00# .. 16#7F#.
Command line parser for any lists.
Reference counted access types.
It converts reference counted access types from derived to base.
There are tiny generic functions for ease to make comparator or more.
Making a normal forward iterator from a non-rollbackable forward iterator (input iterator).
Ada.Containers.Vectors-like utilities for access-to-array types.
Ada.Containers.Vectors-like utilities for array types.
32bit version MurmurHash3 that targets low latency for hash table use.
There is a function to get user information.
This function compare two file names by the method of the file system.
For example, it uses NFD and case-insensitive on HFS+.
This function is "<" version of Ada.Directories.Equal_File_Names.
Creating temporary files and directories.
Interfaces.C.Pointers-like utilities for enumeration types.
Platform-depended text encoding.
This is a stream wrapper encoding from/to another stream.
Encoding/decoding between strings and character sequences in Ada.Streams.Stream_Element_Array.
Constants for schemes of system-specific text encoding.
Encoding / decoding between String and various encodings.
Encoding / decoding between Wide_String and various encodings.
Encoding / decoding between Wide_Wide_String and various encodings.
"Pure" version of Ada.Exceptions.
Ada.Decimal-like utilities for ordinary fixed types.
Ada.Decimal-like (and more) utilities for float types.
Generic formatting functions more powerful than Ada.Text_IO.*_IO.
Also, the root type of Type_Set is declared in here.
"Pure" and detailed version of Ada.Directories.Hierarchical_File_Names.
This package is system-specific.
Root types of File_Mode and for the parameters Form.
Some kinds of distributions of random numers.
SIMD-oriented Fast Mersenne Twister.
| file: |
a-nusf19.ads |
| instantiation: |
SFMT |
| reference: |
SFMT (SFMT-params19937.h) |
| file: |
a-nusf21.ads |
| instantiation: |
SFMT |
| reference: |
SFMT (SFMT-params216091.h) |
Double precision SIMD oriented Fast Mersenne Twister(dSFMT)
pseudorandom number generator based on IEEE 754 format.
| file: |
a-nuds19.ads |
| instantiation: |
dSFMT |
| reference: |
dSFMT (dSFMT-params19937.h) |
| file: |
a-nuds21.ads |
| instantiation: |
dSFMT |
| reference: |
dSFMT (dSFMT-params216091.h) |
Spawning child processes.
Returning access values to sliced arrays from functions.
Returning access values to sliced String from functions.
Returning access values to sliced Wide_String from functions.
Returning access values to sliced Wide_Wide_String from functions.
There are efficient read/write/input/output operations for stream.
There are efficient streaming operations for String.
There are efficient streaming operations for Wide_String.
There are efficient streaming operations for Wide_Wide_String.
Overlapping stream access to existing memory.
There are subprograms to create socket.
There are Stream_IO version file objects of Standard_Input, Standard_Output, and Standard_Error.
Temporary stream on memory.
Unicode composite character handling.
Unicode property "east asian width".
| file: |
a-sgecin.ads |
| reference: |
Ada.Strings.Equal_Case_Insensitive |
| file: |
a-sghcin.ads |
| reference: |
Ada.Strings.Hash_Case_Insensitive |
| file: |
a-sglcin.ads |
| reference: |
Ada.Strings.Less_Case_Insensitive |
| file: |
a-sgugfu.ads |
| reference: |
a part of Ada.Strings.Unbounded |
| file: |
a-suegst.ads |
| reference: |
Ada.Strings.UTF_Encoding.Strings |
Delphi-like interface delegation.
Iterators for Ada.Text_IO.File_Type.
Additional terminal handling subprograms.
Additional terminal-color handling subprograms.
Constants for system-specific system colors.
Change the size of the allocated array object.
Wide_Character version of Ada.Characters.Latin_1.
Wide_Wide_Character version of Ada.Characters.Latin_1.
The instance of Interfaces.C.Pointers for char.
The instance of Interfaces.C.Pointers for wchar_t.
Wide_String and wchar_t version of Interfaces.C.Strings.
Wide_Wide_String and wchar_t version of Interfaces.C.Strings.
This is an implementation of Robert I. Eachus's plan in AI05-0002-1.
This is an implementation of Robert I. Eachus's plan in AI05-0002-1.
This is an implementation of Matthew Heaney's plan in AI05-0001-1.
Probing information of the program itself.
Loading dynamic-link library.
The formatting functions Image and Value for System.Address.
Separated storage pool for local scope.
The compiler (gcc) does not support scope-based automatic deallocation.
Instead, some custom pool, like System.Pool_Local of GNAT runtime, having different lifetime from the standard storage pool can be used for deallocating all at once.
This package provides the similar pool using separated storage by every pool object.