User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cl:types:concatenated-stream [2017/05/01 21:00] (current)
Line 1: Line 1:
 +====== System Class CONCATENATED-STREAM ======
 +
 +====Class Precedence List====
 +**concatenated-stream**,​ **[[CL:​Types:​stream]]**,​ **[[CL:​Types:​t]]**
 +
 +====Description====
 +A //​[[CL:​Glossary:​concatenated stream]]// is an //​[[CL:​Glossary:​input]]//​ //​[[CL:​Glossary:​stream]]//​ which is a //​[[CL:​Glossary:​composite stream]]// of zero or more other //​[[CL:​Glossary:​input]]//​ //​[[CL:​Glossary:​stream|streams]]//,​ such that the sequence of data which can be read from the //​[[CL:​Glossary:​concatenated stream]]// is the same as the concatenation of the sequences of data which could be read from each of the constituent //​[[CL:​Glossary:​stream|streams]]//​.
 +
 +Input from a //​[[CL:​Glossary:​concatenated stream]]// is taken from the first of the associated //​[[CL:​Glossary:​input streams]]// until it reaches //​[[CL:​Glossary:​end of file]]//; then that //​[[CL:​Glossary:​stream]]//​ is discarded, and subsequent input is taken from the next //​[[CL:​Glossary:​input stream]]//, and so on.
 +
 +An //​[[CL:​Glossary:​end of file]]// on the associated //​[[CL:​Glossary:​input streams]]// is always managed invisibly by the //​[[CL:​Glossary:​concatenated stream]]//​---the only time a client of a //​[[CL:​Glossary:​concatenated stream]]// sees an //​[[CL:​Glossary:​end of file]]// is when an attempt is made to obtain data from the //​[[CL:​Glossary:​concatenated stream]]// but it has no remaining //​[[CL:​Glossary:​input streams]]// from which to obtain such data.
 +
 +====See Also====
 +  * **[[CL:​Functions:​concatenated-stream-streams|Function CONCATENATED-STREAM-STREAMS]]**
 +  * **[[CL:​Functions:​make-concatenated-stream|Function MAKE-CONCATENATED-STREAM]]**
 +
 +\issue{TYPE-OF-AND-PREDEFINED-CLASSES:​UNIFY-AND-EXTEND} \issue{STREAM-ACCESS:​ADD-TYPES-ACCESSORS}