lib/: expand all packages in their own directories
[nit.git] / lib / filter_stream.nit
diff --git a/lib/filter_stream.nit b/lib/filter_stream.nit
deleted file mode 100644 (file)
index f1537e4..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Copyright 2006 Floréal Morandat <morandat@lirmm.fr>
-# Copyright 2009 Jean-Sebastien Gelinas <calestar@gmail.com>
-#
-# This file is free software, which comes along with NIT.  This software is
-# distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-# without  even  the implied warranty of  MERCHANTABILITY or  FITNESS FOR A
-# PARTICULAR PURPOSE.  You can modify it is you want,  provided this header
-# is kept unaltered, and a notification of the changes is added.
-# You  are  allowed  to  redistribute it and sell it, alone or is a part of
-# another product.
-
-class FilterReader
-       super Reader
-       # Filter readed elements
-       var stream: nullable Reader = null
-
-       redef fun eof: Bool
-       do
-               assert stream != null
-               return stream.eof
-       end
-end
-
-class FilterWriter
-       super Writer
-       # Filter outputed elements
-       var stream: nullable Writer = null
-
-       # Can the stream be used to write
-       redef fun is_writable: Bool
-       do
-               assert stream != null
-               return stream.is_writable
-       end
-end
-
-class StreamCat
-       super FilterReader
-       private var streams: Iterator[Reader]
-
-       redef fun eof: Bool
-       do
-               if stream == null then
-                       return true
-               else if stream.eof then
-                       stream.close
-                       stream = null
-                       return eof
-               else
-                       return false
-               end
-       end
-
-       redef fun stream: nullable Reader
-       do
-               var res = super
-               if res == null and _streams.is_ok then
-                       res = _streams.item
-                       stream = res
-                       assert stream != null
-                       _streams.next
-               end
-               return res
-       end
-
-       redef fun read_char
-       do
-               assert not eof
-               return stream.read_char
-       end
-
-       redef fun close
-       do
-               while stream != null do
-                       stream.close
-                       stream = null
-               end
-       end
-
-       init with_streams(streams: Array[Reader])
-       do
-               _streams = streams.iterator
-       end
-
-       init(streams: Reader ...) is old_style_init do
-               _streams = streams.iterator
-       end
-end
-
-class StreamDemux
-       super FilterWriter
-       private var streams: Array[Writer]
-
-       redef fun is_writable: Bool
-       do
-               if stream.is_writable then
-                       return true
-               else
-                       for i in _streams
-                       do
-                               if i.is_writable then
-                                       return true
-                               end
-                       end
-                       return false
-               end
-       end
-
-       redef fun write(s: Text)
-       do
-               for i in _streams
-               do
-                       stream = i
-                       if stream.is_writable then
-                               stream.write(s)
-                       end
-               end
-       end
-
-       redef fun close
-       do
-               for i in _streams
-               do
-                       stream = i
-                       stream.close
-               end
-       end
-
-       init with_streams(streams: Array[Writer])
-       do
-               _streams = streams
-       end
-
-       init(streams: Writer ...) is old_style_init do
-               _streams = streams
-       end
-end