ChannelStore
An immutable map of Channels keyed by alias, allowing a it.unibo.tuprolog.solve.Solver to hold several named I/O channels at once (e.g. to support Prolog's stream terms for format/3-style I/O redirection), rather than assuming a single channel per direction.
Every mutating-looking operation (plus/minus/setCurrent/close) returns a new Self instance rather than altering the receiver, consistent with the rest of 2P-Kt's immutable data structures. See InputStore and OutputStore for the two concrete specializations used by it.unibo.tuprolog.solve.Solver.
Type Parameters
the type of element carried by the stored channels.
the concrete Channel subtype stored.
the concrete ChannelStore subtype, for covariant-returning methods.
Inheritors
Functions
Returns every channel in this store whose Channel.streamTerm unifies with streamTerm.