Streams Operators: Commentary

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.