DocAda(tm) is a productivity tool of KSCE

Prev | Up | Next | Back | Forward
About DocAda Light: Preface / Preliminary / Help / TOC / Copyright
DocAda Online at the Ada Home: Complete RM95 / Updates / News

A.9 The Generic Package Storage_IO

The generic package Storage_IO provides for reading from and writing to an in-memory buffer. This generic package supports the construction of user-defined input-output packages.

Static Semantics

The generic library package Storage_IO has the following declaration:

   
       with Ada.IO_Exceptions;
       with System.Storage_Elements;
       generic
          type Element_Type is private;
       package Ada.Storage_IO is
          pragma Preelaborate(Storage_IO);

          Buffer_Size : constant System.Storage_Elements.Storage_Count := implementation-defined;
          subtype Buffer_Type is System.Storage_Elements.Storage_Array(1..Buffer_Size);

          -- Input and output operations

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

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

          -- Exceptions

          Data_Error   : exception renames IO_Exceptions.Data_Error;
       end Ada.Storage_IO;

In each instance, the constant Buffer_Size has a value that is the size (in storage elements) of the buffer required to represent the content of an object of subtype Element_Type, including any implicit levels of indirection used by the implementation. The Read and Write procedures of Storage_IO correspond to the Read and Write procedures of Direct_IO (see A.8.4), but with the content of the Item parameter being read from or written into the specified Buffer, rather than an external file.

About DocAda Light: Preface / Preliminary / Help / TOC / Copyright
DocAda Online at the Ada Home: Complete RM95 / Updates / News
Prev | Up | Next | Back | Forward


Copyright © 1994-1997 by Kempe Software Capital Enterprises. All Rights Reserved. For comments on this DocAda(tm) hypertext document, please write to KSCE, at docada@ksce.com