Clingo
|
Keys for aggregate elements storing their tuple and their aggregate index. More...
#include <head_aggregate.hh>
Public Member Functions | |
ElementKey (priv_tag tag, EvalContext const &ctx, AggregateFunction fun, size_t atom_idx, StmHdAggrElem &elem, bool &res) | |
Private constructor. | |
ElementKey (ElementKey const &other)=delete | |
Prevent copying and moving. | |
void | mark_fact () const |
Mark as fact. | |
auto | fact () const -> bool |
Check if is fact. | |
auto | size () const -> size_t |
The number of elements in the tuple. | |
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, StmHdAggrElem &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.