Interface Indexer<T>

Type Parameters:
T - The element type. Often a tuple. For example for from(A).join(B), the tuple is UniTuple<A> xor UniTuple<B>. For example for Bi<A, B>.join(C), the tuple is BiTuple<A, B> xor UniTuple<C>.
All Known Implementing Classes:
NoneIndexer

public sealed interface Indexer<T> permits NoneIndexer<T> (not exhaustive)
An indexer for entity or fact X, maps a property or a combination of properties of X, denoted by indexKeys, to all instances of X that match those properties, depending on the the indexer type (equal, lower than, ...). For example for {Lesson(id=1, room=A), Lesson(id=2, room=B), Lesson(id=3, room=A)}, calling visit(room=A) would visit lesson 1 and 3.

The fact X is wrapped in a Tuple, because the TupleState is needed by clients of forEach(Object, Consumer).