This class defines a cache that can be used with mred:backward-match and mred:forward-match . The cache data is intended to be inserted and read only by the matching procedures; however, the cache must be specifically invalidated when the cache's buffer is modified.
A cache is not required by the matching procedures. A single cache can only be used for a single buffer and with a single direction and parenthesis, quote, and comment parameterization. When a cache is used for a buffer, it does not have to be used with every call to the matching procedures, but the best results are obtained when the cache is always used. Multiple caches can be used for a single buffer (possibly for different directions or parenthesis parameterizations), as long as they are all invalidated properly when the buffer is modified.
A buffer's after-insert and after-delete methods can be overridden to properly track modifications and invoke a cache's invalidate or forward-invalidate methods.
Passes all arguments to super-init.