transforms/Xtreams__DuplicateWriteStream.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 01 Feb 2012 00:37:59 +0000
changeset 98 bd334e72464f
parent 72 d16c7d84d4a8
child 111 44ac233b2f83
permissions -rw-r--r--
Fix in #read:into:at:

"{ Package: 'stx:goodies/xtreams/transforms' }"

"{ NameSpace: Xtreams }"

WriteStream subclass:#DuplicateWriteStream
	instanceVariableNames:'duplicate'
	classVariableNames:''
	poolDictionaries:''
	category:'Xtreams-Transforms'
!

DuplicateWriteStream comment:'Duplicates contents flowing through the stream into a secondary write stream.

Instance Variables
	duplicate	<WriteStream> stream to duplicate the content to

'
!


!DuplicateWriteStream class methodsFor:'instance creation'!

on: aDestination duplicate: aSecondDestination

	^self new on: aDestination duplicate: aSecondDestination
! !

!DuplicateWriteStream methodsFor:'accessing'!

write: anInteger from: aSequenceableCollection at: startIndex

	[	destination write: anInteger from: aSequenceableCollection at: startIndex
	] on: Incomplete do: [ :incomplete |
		duplicate write: incomplete count from: aSequenceableCollection at: startIndex.
		incomplete pass ].
	duplicate write: anInteger from: aSequenceableCollection at: startIndex.
	^anInteger
! !

!DuplicateWriteStream methodsFor:'initialize-release'!

contentsSpecies

	^destination contentsSpecies
!

on: aDestination duplicate: aSecondDestination

	super on: aDestination.
	duplicate := aSecondDestination
! !

!DuplicateWriteStream class methodsFor:'documentation'!

version_SVN
    ^ '$Id$'
! !