Each sequence is characterized by three pointers which, if non-null,
all point into the same
charT
array object
. 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:
- the
beginning pointer,
or lowest element address in the array
(called xbeg here);
- the
next pointer,
or next element address that is a current
candidate for reading or writing (called xnext here);
- the
end pointer,
or first element address beyond the end of
the array (called xend here).