ANY FILTER NONE
deferred class interface STREAM
   --
   -- A stream of characters.
   --
   -- There are two kinds of streams:
   -- + input streams (see INPUT_STREAM)
   -- + output_streams (see OUTPUT_STREAM)
   --
   -- Streams can:
   -- + be connected (e.g. to some system object)
   -- + be used ot read or write characters, only if they are connected
   -- + be filtered (see FILTER)
   --
   --*** Note that currently STREAM is inserted (not inherited) by INPUT_STREAM and OUTPUT_STREAM (due to
   -- limitations of the new Eiffel way, or bugs of the compiler, I don't know)
   --

feature(s) from STREAM
   is_connected: BOOLEAN

   disconnect
      require
         is_connected
      ensure
         filter = Void

   is_filtered: BOOLEAN

   detach
      ensure
         not is_filtered

feature(s) from STREAM
   set_filter (a_filter: FILTER)
      require
         a_filter /= Void
      ensure
         filter = a_filter

   filter: FILTER



end of deferred STREAM