Contents   Index   Search   Previous   Next
 A.8 Sequential and Direct Files
Static Semantics
1
   Two kinds
of access to external files are defined in this subclause: 
sequential
access and 
direct access. The corresponding file types and
the associated operations are provided by the generic packages Sequential_IO
and Direct_IO. A file object to be used for sequential access is called
a 
sequential file, and one  to be used for direct access is called
a 
direct file. Access to stream files is described in 
A.12.1.
 
2
   For sequential access, the
file is viewed as a sequence of values that are transferred in the order
of their appearance (as produced by the program or by the external environment).
When the file is opened with mode In_File or Out_File, transfer starts
respectively from or to the beginning of the file. When the file is opened
with mode Append_File, transfer to the file starts after the last element
of the file. 
 
3
   For
direct access, the file is viewed as a set of elements occupying consecutive
positions in linear order; a value can be transferred to or from an element
of the file at any selected position. The position of an element is specified
by its 
index, which is a number, greater than zero, of the implementation-defined
integer type Count. The first element, if any, has index one; the index
of the last element, if any, is called the 
current size; the current
size is zero if there are no elements. The current size is a property
of the external file.
 
4
   An open direct file has a
current index, which is the index that will be used by the next
read or write operation. When a direct file is opened, the current index
is set to one. The current index of a direct file is a property of a
file object, not of an external file. 
 
Contents   Index   Search   Previous   Next   Legal