General: The stream operations
are very simple in concept. However, because of the flexibility required there
are many permutations of desirable operations. I have chosen to break the
operators into 4 basic groups and present examples of operation in each group.
The commentary buttons below describe the distinguishing characteristics of
each group. Clicking in the links column will take you to examples of the
various operators in that context.
Stream Index operators: An index
is a location of a point in stream counting bytes from the beginning and
starting with 1. The stream index operators are informational. They only return
information and make no changes to the state of the stream.
Stream Position operators: Streams
have two cursors. They are the current position and the previous position.
Further, there is the beginning of stream position and end of stream position.
Reads are a function of these positions. This collection of operators allows
the positioning and testing of these various cursors. No information is read
from the stream in the process.
Stream Reading operators: The
stream reading operators return strings from data in the streams. These
operators are principally concerned with extracting information from some
beginning position to some ending position and automatically moving the
cursors. The information is returned as a string which may be streamed itself.
The cursor movements are designed to naturally serve various needs to stream
through strings and files.
Other stream operators:
Operators not falling into the three groupings above will be found in this
grouping.