ClauseMultiSet
A ClauseCollection that drops ordering guarantees in exchange for a slightly cheaper count/get when many clauses can match a single query shape and their relative order does not matter. Used internally as the storage for index buckets of the RETE tree that also backs ClauseQueue; Theory itself always uses ClauseQueue, since Prolog's SLD resolution needs clause order preserved.
See also
Inheritors
Properties
Only the clauses in this collection that are Directives.
Computes the size of the ClauseCollection
The Unificator used to match clauses against each other in this collection.
Functions
Gives a freshly produced ClauseMultiSet including the given Clause and the content of this one
Gives a freshly produced ClauseMultiSet including all the given Clause and the content of this one
Tells if, for each of the given elements, the ClauseCollection contains a unifying clause
Tells if the ClauseCollection contains any Clause
Tells if the ClauseCollection contains at least one Clause; the negation of isEmpty.
Iterates over all the clauses in this collection, in an order that depends on the concrete implementation (e.g. insertion order for a ClauseQueue, unspecified for a ClauseMultiSet).
Produces a RetrieveResult as a consequence of the attempt at deleting the given Clause from this ClauseMultiSet
Produces a RetrieveResult as a consequence of the attempt at deleting all the given Clause from this ClauseMultiSet