class input_filter :in_obj_channel -> io_obj_channel ->in_obj_channel
input_filter filters the data read from it through the
io_obj_channel (usually a pipe after the data have been
retrieved from the passed in_obj_channel.
An input_filter object never generates Buffer_underrun exceptions.
However, if the passed in_obj_channel or io_obj_channel raises such
an exception, the exception will fall through the calling chain.
If the filter is closed, the io_obj_channel will be closed, too,
but not the source in_obj_channel (so you can still read further
data from it).