+++ /dev/null
-------------------------------------------------------------------------------
--- --
--- GNAT RUN-TIME COMPONENTS --
--- --
--- A D A . W I D E _ T E X T _ I O . E D I T I N G --
--- --
--- S p e c --
--- --
--- $Revision: 1.1.16.2 $
--- --
--- Copyright (C) 1992-1997 Free Software Foundation, Inc. --
--- --
--- This specification is derived from the Ada Reference Manual for use with --
--- GNAT. The copyright notice above, and the license provisions that follow --
--- apply solely to the contents of the part following the private keyword. --
--- --
--- GNAT is free software; you can redistribute it and/or modify it under --
--- terms of the GNU General Public License as published by the Free Soft- --
--- ware Foundation; either version 2, or (at your option) any later ver- --
--- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
--- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
--- for more details. You should have received a copy of the GNU General --
--- Public License distributed with GNAT; see file COPYING. If not, write --
--- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
--- MA 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from this --
--- unit, or you link this unit with other files to produce an executable, --
--- this unit does not by itself cause the resulting executable to be --
--- covered by the GNU General Public License. This exception does not --
--- however invalidate any other reasons why the executable file might be --
--- covered by the GNU Public License. --
--- --
--- GNAT was originally developed by the GNAT team at New York University. --
--- Extensive contributions were provided by Ada Core Technologies Inc. --
--- --
-------------------------------------------------------------------------------
-
-package Ada.Wide_Text_IO.Editing is
-
- type Picture is private;
-
- function Valid
- (Pic_String : in String;
- Blank_When_Zero : in Boolean := False)
- return Boolean;
-
- function To_Picture
- (Pic_String : in String;
- Blank_When_Zero : in Boolean := False)
- return Picture;
-
- function Pic_String (Pic : in Picture) return String;
- function Blank_When_Zero (Pic : in Picture) return Boolean;
-
- Max_Picture_Length : constant := 64;
-
- Picture_Error : exception;
-
- Default_Currency : constant Wide_String := "$";
- Default_Fill : constant Wide_Character := ' ';
- Default_Separator : constant Wide_Character := ',';
- Default_Radix_Mark : constant Wide_Character := '.';
-
- generic
- type Num is delta <> digits <>;
- Default_Currency : in Wide_String :=
- Wide_Text_IO.Editing.Default_Currency;
- Default_Fill : in Wide_Character :=
- Wide_Text_IO.Editing.Default_Fill;
- Default_Separator : in Wide_Character :=
- Wide_Text_IO.Editing.Default_Separator;
- Default_Radix_Mark : in Wide_Character :=
- Wide_Text_IO.Editing.Default_Radix_Mark;
-
- package Decimal_Output is
-
- function Length
- (Pic : in Picture;
- Currency : in Wide_String := Default_Currency)
- return Natural;
-
- function Valid
- (Item : Num;
- Pic : in Picture;
- Currency : in Wide_String := Default_Currency)
- return Boolean;
-
- function Image
- (Item : Num;
- Pic : in Picture;
- Currency : in Wide_String := Default_Currency;
- Fill : in Wide_Character := Default_Fill;
- Separator : in Wide_Character := Default_Separator;
- Radix_Mark : in Wide_Character := Default_Radix_Mark)
- return Wide_String;
-
- procedure Put
- (File : in File_Type;
- Item : Num;
- Pic : in Picture;
- Currency : in Wide_String := Default_Currency;
- Fill : in Wide_Character := Default_Fill;
- Separator : in Wide_Character := Default_Separator;
- Radix_Mark : in Wide_Character := Default_Radix_Mark);
-
- procedure Put
- (Item : Num;
- Pic : in Picture;
- Currency : in Wide_String := Default_Currency;
- Fill : in Wide_Character := Default_Fill;
- Separator : in Wide_Character := Default_Separator;
- Radix_Mark : in Wide_Character := Default_Radix_Mark);
-
- procedure Put
- (To : out Wide_String;
- Item : Num;
- Pic : in Picture;
- Currency : in Wide_String := Default_Currency;
- Fill : in Wide_Character := Default_Fill;
- Separator : in Wide_Character := Default_Separator;
- Radix_Mark : in Wide_Character := Default_Radix_Mark);
-
- end Decimal_Output;
-
-private
- MAX_PICSIZE : constant := 50;
- MAX_MONEYSIZE : constant := 10;
- Invalid_Position : constant := -1;
-
- subtype Pic_Index is Natural range 0 .. MAX_PICSIZE;
-
- type Picture_Record (Length : Pic_Index := 0) is record
- Expanded : String (1 .. Length);
- end record;
-
- type Format_Record is record
- Picture : Picture_Record;
- -- Read only
-
- Blank_When_Zero : Boolean;
- -- Read/write
-
- Original_BWZ : Boolean;
-
- -- The following components get written
-
- Star_Fill : Boolean := False;
-
- Radix_Position : Integer := Invalid_Position;
-
- Sign_Position,
- Second_Sign : Integer := Invalid_Position;
-
- Start_Float,
- End_Float : Integer := Invalid_Position;
-
- Start_Currency,
- End_Currency : Integer := Invalid_Position;
-
- Max_Leading_Digits : Integer := 0;
-
- Max_Trailing_Digits : Integer := 0;
-
- Max_Currency_Digits : Integer := 0;
-
- Floater : Wide_Character := '!';
- -- Initialized to illegal value
-
- end record;
-
- type Picture is record
- Contents : Format_Record;
- end record;
-
- type Number_Attributes is record
- Negative : Boolean := False;
-
- Has_Fraction : Boolean := False;
-
- Start_Of_Int,
- End_Of_Int,
- Start_Of_Fraction,
- End_Of_Fraction : Integer := Invalid_Position; -- invalid value
- end record;
-
- function Parse_Number_String (Str : String) return Number_Attributes;
- -- Assumed format is 'IMAGE or Fixed_IO.Put format (depends on no
- -- trailing blanks...)
-
- procedure Precalculate (Pic : in out Format_Record);
- -- Precalculates fields from the user supplied data
-
- function Format_Number
- (Pic : Format_Record;
- Number : String;
- Currency_Symbol : Wide_String;
- Fill_Character : Wide_Character;
- Separator_Character : Wide_Character;
- Radix_Point : Wide_Character)
- return Wide_String;
- -- Formats number according to Pic
-
- function Expand (Picture : in String) return String;
-
-end Ada.Wide_Text_IO.Editing;