# another product.
class FilterIStream
-special IStream
+ super IStream
# Filter readed elements
readable var _stream: nullable IStream
end
class FilterOStream
-special OStream
+ super OStream
# Filter outputed elements
readable var _stream: nullable OStream
end
class StreamCat
-special FilterIStream
+ super FilterIStream
var _streams: Iterator[IStream]
redef fun eof: Bool
end
class StreamDemux
-special FilterOStream
+ super FilterOStream
var _streams: Array[OStream]
redef fun is_writable: Bool