# Package org.eclipse.viatra.query.runtime.matchers.util

- Interface Summary
  Interface | Description
  --- | ---
  Clearable |
  CollectionsFactory.ICollectionsFramework | Interface abstracting over a collections technology that provides custom collection implementations.
  ICache | A cache is a simple key-value pair that stores calculated values for specific key objects
  IDeltaBag<T> | An `IMemory` that represents the difference between two states of a set or `IMultiset`, and therefore may contain values with a negative multiplicity.
  IMemory<T> | A memory containing a positive or negative number of equal() copies for some values.
  IMemoryView<T> | A read-only view on a memory containing a positive or negative number of equal() copies for some values.
  IMultiLookup<Key,Value> | A multi-map that associates sets / multisets / delta sets of values to each key.
  IMultiLookupAbstract<Key,Value,Bucket extends MarkedMemory<Value>> | Specialized multimap implementation that saves memory by storing singleton value objects (multiplicity 1) instead of multiset buckets whenever there is only one value associated with a key.
  IMultiLookupAbstract.ToMultisetsAbstract<Key,Value> | A multi-lookup whose buckets are multisets.
  IMultiLookupAbstract.ToSetsAbstract<Key,Value> | A multi-lookup whose buckets are sets.
  IMultiset<T> | An `IMemory` that always contains values with a nonnegative multiplicity.
  IProvider<T> | A provider interface useful in various registry instances.
  ISetMemory<T> | An `IMemory` that always contains values with a 0 or +1 multiplicity.
  MarkedMemory<Value> | Internal marker type, must only be instantiated inside implementors of IMultiLookupImpl
  MarkedMemory.MarkedDeltaBag<Value> |
  MarkedMemory.MarkedMultiset<Value> |
  MarkedMemory.MarkedSet<Value> |

- Class Summary
  Class | Description
  --- | ---
  CollectionsFactory | Factory class used as an accessor to Collections implementations.
  EclipseCollectionsBagMemory<T> | Eclipse Collections-based multiset for tuples.
  EclipseCollectionsDeltaBag<T> |
  EclipseCollectionsFactory |
  EclipseCollectionsLongMultiset |
  EclipseCollectionsLongSetMemory |
  EclipseCollectionsLongSetMemory.SetWrapper | Helper that presents a primitive collection as a Set view
  EclipseCollectionsMultiset<T> |
  EclipseCollectionsSetMemory<Value> |
  EmptyMemory<T> | A singleton immutable empty memory.
  IProvider.ProvidedValueFunction |
  MapBackedMemoryView<T> | Wraps a Map (mapping elements to non-zero multiplicities) into an `IMemoryView`.
  MemoryViewBackedMapView<T> | A partial and read-only Map implementation, mapping elements to multiplicities backed by an `IMemoryView`.
  Preconditions | This class was motivated by the similar Preconditions class from Guava to provide simple precondition checking functionality.
  PurgableCache |
  Sets | This class was motivated by the similar Sets class from Guava to provide simple set manipulation functionality.
  Signed<Payload extends java.lang.Comparable<Payload>> | A piece of data associated with a direction.
  SingletonInstanceProvider<T> | A provider implementation that always returns the same object instance.
  SingletonMemoryView<Value> | An immutable memory view that consists of a single non-null element with multiplicity 1.
  TimelyMemory<Timestamp extends java.lang.Comparable<Timestamp>> | A timely memory implementation that incrementally maintains the `Timeline`s of tuples.
  TimelyMemory.CumulativeCounter |
  TimelyMemory.FoldingState |

- Enum Summary
  Enum | Description
  --- | ---
  Accuracy | The degree of accuracy of a cardinality estimate
  CollectionsFactory.MemoryType | The type of `IMemory`
  Direction | Indicates whether a propagated update event signals the insertion or deletion of an element
  IMultiLookup.ChangeGranularity | How significant was the change? *
  TimelyMemory.SignChange |