+
Point of view
All features
deferred class FILTER
Summary
A filter is something connected to a stream. It allows to add behavior (e.g. compression, encryption and any other codings).
There are two kinds of filters:
Direct parents
Insert list: ANY
Known children
Insert list: FILTER_INPUT_STREAM, FILTER_OUTPUT_STREAM
Class invariant
Overview
Features
{ANY}
{FILTER}
{}
{STREAM}
  • do_detach
    Used by the underlying stream to require not to be filtered anymore
connect_to (a_stream: FILTERABLE)
effective procedure
{ANY}
Connect the filter to some underlying stream.
require
  • not is_connected
  • a_stream.is_connected
  • not a_stream.is_filtered
ensure
is_connected: BOOLEAN
effective function
{ANY}
True if the filter is connected to some underlying stream.
disconnect
deferred procedure
{ANY}
Disconnect from the underlying stream.
require ensure
can_disconnect: BOOLEAN
effective function
{ANY}
filtered_descriptor: INTEGER_32
effective function
filtered_has_descriptor: BOOLEAN
effective function
filtered_stream_pointer: POINTER
effective function
filtered_has_stream_pointer: BOOLEAN
effective function
local_can_disconnect: BOOLEAN
deferred function
{}
True if this stream can be safely disconnected (without data loss, etc.)
without taking into account the state of the underlying stream.
stream: FILTERABLE
writable attribute
{}
The underlying stream (i.e. the filtered one)
do_detach
deferred procedure
Used by the underlying stream to require not to be filtered anymore
ensure