Stream interfaces
Thomas Gagne
tgagne at ix.netcom.com
Tue Feb 27 10:12:57 EST 2001
I don't think it's any of the programmer's business what the attributes are,
unless of course, you asking for Stream's heirarchy:
Steam
PeekableStream
PositionableStream
ExternalStream
BufferedExternalStream
ExternalReadStream
ExternalReadWriteStream
ExternalWriteStream
InternalStream
WriteStream
ReadWriteStream
There may be other subclasses floating around I'm not aware of. It should be
noted all of these classes, except the External* variety can be created on any
collection (other Smalltalker's can chirp in here if I'm going astray).
To list all the interfaces is a bit of a chore. It may be easier to check to
see if there's something missing you believe should be provided.
Just checking Stream's method dictionary I find:
Stream MethodDictionary (#nextPut: #contents #atEnd #next: #do: #nextPutAll:
#nextMatchFor: #next:put: #next #space #nextChunkPut: #timeStamp #close #cr
#print: #store: #contentsSpecies #upToAll1: #next:into:startingAt: #emphasis
#emphasis: #crtab: #tab #crtab #isReadable #through: #policy #upTo:
#next:putAll:startingAt: #commit #throughAll: #upToEnd #flush
#nextAvailable:into:startingAt: #needsFileLineEndConversion
#computePrefixFunctionFor: #isWritable #isExternalStream #skipThrough:
#throughAll1: #nextAvailable: #skipToAll1: #tab: #ioConnection
#upToAll1:returnMatch:includePattern: )
There are others implemented in Stream's subclasses, but I expect this is the
majority of them. I've been able to find everything I've been looking for
somewhere in Stream's methods, or at least one of its descendents.
--
.tom
More information about the Python-list
mailing list