summaryrefslogtreecommitdiff
path: root/gcc/ada/a-storio.ads
blob: e5268c803999ba31ff3e4339707351bdaae80c5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
------------------------------------------------------------------------------
--                                                                          --
--                         GNAT RUN-TIME COMPONENTS                         --
--                                                                          --
--                       A D A . S T O R A G E _ I O                        --
--                                                                          --
--                                 S p e c                                  --
--                                                                          --
-- This specification is adapted from the Ada Reference Manual for use with --
-- GNAT.  In accordance with the copyright of that document, you can freely --
-- copy and modify this specification,  provided that if you redistribute a --
-- modified version,  any changes that you have made are clearly indicated. --
--                                                                          --
------------------------------------------------------------------------------

with Ada.IO_Exceptions;
with System.Storage_Elements;

generic
   type Element_Type is private;

package Ada.Storage_IO is
   pragma Preelaborate;

   Buffer_Size : constant System.Storage_Elements.Storage_Count :=
                   System.Storage_Elements.Storage_Count
                     ((Element_Type'Size + System.Storage_Unit - 1) /
                                                      System.Storage_Unit);

   subtype Buffer_Type is
     System.Storage_Elements.Storage_Array (1 .. Buffer_Size);

   ---------------------------------
   -- Input and Output Operations --
   ---------------------------------

   procedure Read (Buffer : Buffer_Type; Item : out Element_Type);

   procedure Write (Buffer : out Buffer_Type; Item : Element_Type);

   ----------------
   -- Exceptions --
   ----------------

   Data_Error : exception renames IO_Exceptions.Data_Error;

end Ada.Storage_IO;