Clingo
|
Keys for aggregate elements storing their tuple and their aggregate index. More...
#include <body_aggregate.hh>
Public Member Functions | |
ElementKey (priv_tag tag, EvalContext const &ctx, AggregateFunction fun, size_t atom_idx, StmBdAggrElem &elem, bool &res) | |
Construct the element. | |
ElementKey (ElementKey const &other)=delete | |
Prevent copying and moving. | |
auto | span () const -> SymbolSpan |
Get the tuple. | |
auto | hash () const -> size_t |
Compute a hash for the key. | |
Static Public Member Functions | |
static auto | construct (auto &mbr, EvalContext const &ctx, AggregateFunction fun, size_t atom_idx, StmBdAggrElem &elem) -> bool |
Construct an element key evaluating the given tuple. | |
Friends | |
auto | operator== (ElementKey const &a, ElementKey const &b) -> bool |
Compare to element keys. | |
Keys for aggregate elements storing their tuple and their aggregate index.
The atom index is used to store all elements in one big hash table.