ui/src/split/FilterClass.i3


Copyright (C) 1994, Digital Equipment Corp.
 by Steve Glassman, Mark Manasse and Greg Nelson           

<*PRAGMA LL*>
The FilterClass interface reveals the representation of a filter. If you are implementing a subtype of Filter.T, you can import FilterClass to gain access to the child field.

INTERFACE FilterClass;

IMPORT Filter, VBT;

REVEAL Filter.T <: Public;

TYPE Public =
  Filter.Public OBJECT <* LL >= {SELF, VBT.mu} *>
    ch: VBT.T
  END;
A filter f is a split with the single child f.ch, or with no children if f.ch=NIL.

The beChild method initializes ch and calls Split.T.beChild. The succ, pred, nth, index, and locate methods use the ch field in the obvious way. The misc, key, read, write, reshape, shape, and axisOrder methods forward to the child.

END FilterClass.