Each sequence is characterized by three pointers which, if non-null,
all point into the same
The array object represents, at any moment,
a (sub)sequence of characters from the sequence.
Operations performed on a sequence alter the values stored in these pointers,
perform reads and writes directly to or from associated sequences, and
alter “the stream position” and conversion state as needed to
maintain this subsequence relationship.
The three pointers are:
or lowest element address in the array
(called xbeg here);
or next element address that is a current
candidate for reading or writing (called xnext here);
or first element address beyond the end of
the array (called xend here).