package Ada.Streams is pragma Pure(Streams); type Root_Stream_Type is abstract tagged limited private; type Stream_Element is mod implementation-defined; type Stream_Element_Offset is range implementation-defined; subtype Stream_Element_Count is Stream_Element_Offset range 0..Stream_Element_Offset'Last; type Stream_Element_Array is array(Stream_Element_Offset range <>) of Stream_Element; procedure Read( Stream : in out Root_Stream_Type; Item : out Stream_Element_Array; Last : out Stream_Element_Offset) is abstract; procedure Write( Stream : in out Root_Stream_Type; Item : in Stream_Element_Array) is abstract; private ... -notspecifiedbythelanguage end Ada.Streams;