# Section 8.10:
Input/Output Classes

This section of the required library contains definitions of those abstractions and classes which model input and output operations to files (whether binary or text) and standard channels.

1. Abstract Classes

   1. $IN_DEVICE - this abstraction models all of those devices which are capable of sending data to a program.
   2. $OUT_DEVICE - this abstraction models all of those devices which are capable of accepting data from a program.
   3. $INOUT_DEVICE - this abstraction models all of those devices which are capable of carrying out two communication with a program.
   4. $FILES - this abstraction models input and output from file objects.
   5. $FILE_CURSORS - this abstraction models a sliding window on the contents of a file.
   6. $OPTION - this abstraction models the kind of parameter which a program argument handler may have.

2. Immutable Classes

   1. FILE_MODES - this enumeration class implements the various modes in which a file may be opened.
   2. FILE_LOCS - this enumeration class implements the two fixe and one alterable file locations from which position searching may be made.
   3. CONDITIONALS - this enumeration class provides the pre-processing primitives associated with the SOURCE class.

3. Reference Classes

   1. PROGRAM_ARGS - this class implements various forms of communication to command lines, configuration files, etc, registering handlers if needed by some program class.
   2. IN - this class implements communication with the standard input channel as defined by the execution environment.
   3. OUT - this class implements communication with the standard output channel as defined by the execution environment.
   4. ERR - this class implements communication with the standard error channel as defined by the execution environment.
   5. BIN_FILE - this class implements a binary file, the contents of which is a stream of octets with no semantics attaching insofar as the external environment is aware.
   6. TEXT_FILE - this class implements a text file, the contents of which is a stream of text characters which may or may not be structured into lines/pages.
   7. BIN_FILE_CURSOR - this class implements a buffer which provides a sliding window on the contents of an associated binary file.
   8. TEXT_FILE_CURSOR - this class implements a buffer which provides a sliding window on the contents of an associated text file.
   9. PIPE - this class implements a sequential communication channel between two programs, one writing and the other reading.
   10. SOURCE - this class implements a source of lines of text which may either be subject to conditional pre-processing (see CONDITIONALS) or not as required.
   11. REPORTER - this class implements a reporter of error and warning messages. It is intended to be used with message files.

| Language Index |  | Library Index

Comments or enquiries should be made to Keith Hopper. Page last modified: Friday, 17 November 2000. |