|
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.