411 REFERENCE · Wikibooks
Ada Programming/Libraries/Ada.Wide Text IO
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Ada.Wide_Text_IO
__TOC__
Ada Wide_Text_IO is a unit of the Predefined Language Environment since Ada 95.
Generic nested packages
Ada.Wide_Text_IO has the following nested packages for input/output of scalar types. The only parameter is the involved type.
Decimal_IO
Enumeration_IO
Fixed_IO
Float_IO
Integer_IO
Modular_IO
Specification
Standard Ada library specification
Copyright (c) 2003-2018 Maxim Reznik <reznikmm@gmail.com>
Copyright (c) 2004-2016 AXE Consultants
Copyright (c) 2004, 2005, 2006 Ada-Europe
Copyright (c) 2000 The MITRE Corporation, Inc.
Copyright (c) 1992, 1993, 1994, 1995 Intermetrics, Inc.
SPDX-License-Identifier: BSD-3-Clause and LicenseRef-AdaReferenceManual
-------------------------------------------------------------------------
with Ada IO_Exceptions;
package Ada Wide_Text_IO is
type File_Type is limited private;
type File_Mode is (In_File, Out_File, Append_File);
type Count is range 0 double_dot .. implementation_defined;
subtype Positive_Count is Count range 1 double_dot .. Count'Last;
Unbounded : constant Count := 0; line and page length
subtype Field is Integer range 0 double_dot .. implementation_defined;
subtype Number_Base is Integer range 2 double_dot .. 16;
type Type_Set is (Lower_Case, Upper_Case);
File Management
procedure Create (File : in out File_Type;
Mode : in File_Mode := Out_File;
Name : in String := "";
Form : in String := "");
procedure Open (File : in out File_Type;
Mode : in File_Mode;
Name : in String;
Form : in String := "");
procedure Close (File : in out File_Type);
procedure Delete (File : in out File_Type);
procedure Reset (File : in out File_Type; Mode : in File_Mode);
procedure Reset (File : in out File_Type);
function Mode (File : in File_Type) return File_Mode;
function Name (File : in File_Type) return String;
function Form (File : in File_Type) return String;
function Is_Open(File : in File_Type) return Boolean;
Control of default input and output files
procedure Set_Input (File : in File_Type);
procedure Set_Output(File : in File_Type);
procedure Set_Error (File : in File_Type);
function Standard_Input return File_Type;
function Standard_Output return File_Type;
function Standard_Error return File_Type;
function Current_Input return File_Type;
function Current_Output return File_Type;
function Current_Error return File_Type;
type File_Access is access constant File_Type;
function Standard_Input return File_Access;
function Standard_Output return File_Access;
function Standard_Error return File_Access;
function Current_Input return File_Access;
function Current_Output return File_Access;
function Current_Error return File_Access;
Buffer control
procedure Flush (File : in out File_Type);
procedure Flush;
Specification of line and page lengths
procedure Set_Line_Length (File : in File_Type; To : in Count);
procedure Set_Line_Length (To : in Count);
procedure Set_Page_Length (File : in File_Type; To : in Count);
procedure Set_Page_Length (To : in Count);
function Line_Length (File : in File_Type) return Count;
function Line_Length return Count;
function Page_Length (File : in File_Type) return Count;
function Page_Length return Count;
Column, Line, and Page Control
procedure New_Line (File : in File_Type;
Spacing : in Positive_Count := 1);
procedure New_Line (Spacing : in Positive_Count := 1);
procedure Skip_Line (File : in File_Type;
Spacing : in Positive_Count := 1);
procedure Skip_Line (Spacing : in Positive_Count := 1);
function End_Of_Line (File : in File_Type) return Boolean;
function End_Of_Line return Boolean;
procedure New_Page (File : in File_Type);
procedure New_Page;
procedure Skip_Page (File : in File_Type);
procedure Skip_Page;
function End_Of_Page (File : in File_Type) return Boolean;
function End_Of_Page return Boolean;
function End_Of_File (File : in File_Type) return Boolean;
function End_Of_File return Boolean;
procedure Set_Col (File : in File_Type; To : in Positive_Count);
procedure Set_Col (To : in Positive_Count);
procedure Set_Line (File : in File_Type; To : in Positive_Count);
procedure Set_Line (To : in Positive_Count);
function Col (File : in File_Type) return Positive_Count;
function Col return Positive_Count;
function Line (File : in File_Type) return Positive_Count;
function Line return Positive_Count;
function Page (File : in File_Type) return Positive_Count;
function Page return Positive_Count;
Character Input-Output
procedure Get (File : in File_Type; Item : out Wide_Character);
procedure Get (Item : out Wide_Character);
procedure Put (File : in File_Type; Item : in Wide_Character);
procedure Put (Item : in Wide_Character);
procedure Look_Ahead (File : in File_Type;
Item : out Wide_Character;
End_Of_Line : out Boolean);
procedure Look_Ahead (Item : out Wide_Character;
End_Of_Line : out Boolean);
procedure Get_Immediate (File : in File_Type;
Item : out Wide_Character);
procedure Get_Immediate (Item : out Wide_Character);
procedure Get_Immediate (File : in File_Type;
Item : out Wide_Character;
Available : out Boolean);
procedure Get_Immediate (Item : out Wide_Character;
Available : out Boolean);
String Input-Output
procedure Get (File : in File_Type; Item : out Wide_String);
procedure Get (Item : out Wide_String);
procedure Put (File : in File_Type; Item : in Wide_String);
procedure Put (Item : in Wide_String);
procedure Get_Line (File : in File_Type;
Item : out Wide_String;
Last : out Natural);
procedure Get_Line (Item : out Wide_String; Last : out Natural);
function Get_Line(File : in File_Type) return Wide_String;
function Get_Line return Wide_String;
procedure Put_Line (File : in File_Type; Item : in Wide_String);
procedure Put_Line (Item : in Wide_String);
Generic packages for Input-Output of Integer Types
generic
type Num is range box <>;
package Integer_IO is
Default_Width : Field := Num'Width;
Default_Base : Number_Base := 10;
procedure Get (File : in File_Type;
Item : out Num;
Width : in Field := 0);
procedure Get (Item : out Num;
Width : in Field := 0);
procedure Put (File : in File_Type;
Item : in Num;
Width : in Field := Default_Width;
Base : in Number_Base := Default_Base);
procedure Put (Item : in Num;
Width : in Field := Default_Width;
Base : in Number_Base := Default_Base);
procedure Get (From : in Wide_String;
Item : out Num;
Last : out Positive);
procedure Put (To : out Wide_String;
Item : in Num;
Base : in Number_Base := Default_Base);
end Integer_IO;
generic
type Num is mod box <>;
package Modular_IO is
Default_Width : Field := Num'Width;
Default_Base : Number_Base := 10;
procedure Get (File : in File_Type;
Item : out Num;
Width : in Field := 0);
procedure Get (Item : out Num;
Width : in Field := 0);
procedure Put (File : in File_Type;
Item : in Num;
Width : in Field := Default_Width;
Base : in Number_Base := Default_Base);
procedure Put (Item : in Num;
Width : in Field := Default_Width;
Base : in Number_Base := Default_Base);
procedure Get (From : in Wide_String;
Item : out Num;
Last : out Positive);
procedure Put (To : out Wide_String;
Item : in Num;
Base : in Number_Base := Default_Base);
end Modular_IO;
Generic packages for Input-Output of Real Types
generic
type Num is digits box <>;
package Float_IO is
Default_Fore : Field := 2;
Default_Aft : Field := Num'Digits-1;
Default_Exp : Field := 3;
procedure Get (File : in File_Type;
Item : out Num;
Width : in Field := 0);
procedure Get (Item : out Num;
Width : in Field := 0);
procedure Put (File : in File_Type;
Item : in Num;
Fore : in Field := Default_Fore;
Aft : in Field := Default_Aft;
Exp : in Field := Default_Exp);
procedure Put (Item : in Num;
Fore : in Field := Default_Fore;
Aft : in Field := Default_Aft;
Exp : in Field := Default_Exp);
procedure Get (From : in Wide_String;
Item : out Num;
Last : out Positive);
procedure Put (To : out Wide_String;
Item : in Num;
Aft : in Field := Default_Aft;
Exp : in Field := Default_Exp);
end Float_IO;
generic
type Num is delta box <>;
package Fixed_IO is
Default_Fore : Field := Num'Fore;
Default_Aft : Field := Num'Aft;
Default_Exp : Field := 0;
procedure Get (File : in File_Type;
Item : out Num;
Width : in Field := 0);
procedure Get (Item : out Num;
Width : in Field := 0);
procedure Put (File : in File_Type;
Item : in Num;
Fore : in Field := Default_Fore;
Aft : in Field := Default_Aft;
Exp : in Field := Default_Exp);
procedure Put (Item : in Num;
Fore : in Field := Default_Fore;
Aft : in Field := Default_Aft;
Exp : in Field := Default_Exp);
procedure Get (From : in Wide_String;
Item : out Num;
Last : out Positive);
procedure Put (To : out Wide_String;
Item : in Num;
Aft : in Field := Default_Aft;
Exp : in Field := Default_Exp);
end Fixed_IO;
generic
type Num is delta box <> digits box <>;
package Decimal_IO is
Default_Fore : Field := Num'Fore;
Default_Aft : Field := Num'Aft;
Default_Exp : Field := 0;
procedure Get (File : in File_Type;
Item : out Num;
Width : in Field := 0);
procedure Get (Item : out Num;
Width : in Field := 0);
procedure Put (File : in File_Type;
Item : in Num;
Fore : in Field := Default_Fore;
Aft : in Field := Default_Aft;
Exp : in Field := Default_Exp);
procedure Put (Item : in Num;
Fore : in Field := Default_Fore;
Aft : in Field := Default_Aft;
Exp : in Field := Default_Exp);
procedure Get (From : in Wide_String;
Item : out Num;
Last : out Positive);
procedure Put (To : out Wide_String;
Item : in Num;
Aft : in Field := Default_Aft;
Exp : in Field := Default_Exp);
end Decimal_IO;
Generic package for Input-Output of Enumeration Types
generic
type Enum is (box <>);
package Enumeration_IO is
Default_Width : Field := 0;
Default_Setting : Type_Set := Upper_Case;
procedure Get (File : in File_Type;
Item : out Enum);
procedure Get (Item : out Enum);
procedure Put (File : in File_Type;
Item : in Enum;
Width : in Field := Default_Width;
Set : in Type_Set := Default_Setting);
procedure Put (Item : in Enum;
Width : in Field := Default_Width;
Set : in Type_Set := Default_Setting);
procedure Get (From : in Wide_String;
Item : out Enum;
Last : out Positive);
procedure Put (To : out Wide_String;
Item : in Enum;
Set : in Type_Set := Default_Setting);
end Enumeration_IO;
Exceptions
Status_Error : exception renames IO_Exceptionsdot .Status_Error;
Mode_Error : exception renames IO_Exceptionsdot .Mode_Error;
Name_Error : exception renames IO_Exceptionsdot .Name_Error;
Use_Error : exception renames IO_Exceptionsdot .Use_Error;
Device_Error : exception renames IO_Exceptionsdot .Device_Error;
End_Error : exception renames IO_Exceptionsdot .End_Error;
Data_Error : exception renames IO_Exceptionsdot .Data_Error;
Layout_Error : exception renames IO_Exceptionsdot .Layout_Error;
private
type File_Type is limited null record;
end Adadot .Wide_Text_IO;
See also
Wikibook
Ada Programming/Libraries/Ada
Ada Programming/Strings
Ada Programming/Input Output
Ada Reference Manual
Ada 95
A 11 Wide Text Input-Output
Ada 2005
A 11 Wide Text Input-Output and Wide Wide Text Input-Output
Ada 2012
A 11 Wide Text Input-Output and Wide Wide Text Input-Output
Open-Source Implementations
a-witeio.ads a-witeio.adb
streams/a-witeio.ads