+
Point of view
All features
deferred class FILTERABLE
Summary
The ability to be filtered (typically a stream of characters).
Direct parents
Insert list: ANY
Known children
Inherit list: TERMINAL_INPUT_OUTPUT_STREAM
Insert list: INPUT_STREAM, OUTPUT_STREAM
Overview
Features
{ANY}
{FILTER}
is_connected: BOOLEAN
deferred function
{ANY}
True if the stream is connected.
Only in that case can data be transferred via this stream.
disconnect
deferred procedure
{ANY}
Try to disconnect the stream.
Note that it *does not* ensure that the stream will effectively be disconnected (some terminal streams, for instance, are always connected) but the feature can be used to "shake off" filters.
require ensure
is_filtered: BOOLEAN
effective function
{ANY}
True if some filter is using this stream as backend.
Use that filter instead.
detach
deferred procedure
{ANY}
Shake off the filter.
ensure
can_disconnect: BOOLEAN
deferred function
{ANY}
True if the stream can be safely disconnected (without data loss, etc.)
require
set_filter (a_filter: FILTER)
effective procedure
Used by the filter itself to get attached
require
  • a_filter /= Void
ensure
filter: FILTER
writable attribute
The filter that uses this stream as backend
filtered_descriptor: INTEGER_32
deferred function
Find the descriptor of the terminal stream...
Filters do not have descriptors of their own
require
filtered_has_descriptor: BOOLEAN
deferred function
True if the underlying terminal stream has a descriptor
require
filtered_stream_pointer: POINTER
deferred function
Find the pointer of the terminal stream...
Filters do not have pointers of their own
require
filtered_has_stream_pointer: BOOLEAN
deferred function
True if the underlying terminal stream has a pointer
require