跳转至内容

Ada 编程/库/Ada.Storage_IO

来自维基教科书,开放的书籍,面向开放的世界

Ada. Time-tested, safe and secure.
Ada. 经得起时间考验,安全可靠。

此语言功能从 Ada 95 开始可用。

Ada.Storage_IO预定义语言环境 自 Ada 95 以来的一部分。

Ada.Storage_IO 不是通用的 输入/输出 包。根据 A.9: 泛型包 Storage_IO [注释](1),它被设计用于构建用户定义的输入输出包,但也可用于将元素从一个 任务 传输到另一个任务。注意: 语言定义的任何 IO 包都不是任务安全的。

它允许您将 *一个* 元素存储在内存缓冲区中。该元素需要是 确定子类型

小心: 当读取的值无法解释为子类型 Element_Type 的值时,不一定调用异常 Data_Error(您必须按照 RM 中给出的多个引用来遵循 A.13: 输入输出中的异常 [注释]),这可能导致错误执行; 尤其是在从未写入值的情况下可能会发生这种情况。在不确定时使用 'Valid 属性

 --                     Standard Ada library specification
 --  For copyright, see 
 --  http://ada-auth.org/standards/rm12_w_tc1/html/RM-TTL.html
 -- -------------------------------------------------------------------------

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;

维基教科书

[编辑 | 编辑源代码]

外部示例

[编辑源代码]

Ada 参考手册

[编辑 | 编辑源代码]

开源实现

[编辑 | 编辑源代码]

FSF GNAT

drake

华夏公益教科书