|
Clingo
|
Keys for aggregate elements storing their tuple and their aggregate index. More...
#include <theory_atom.hh>
Public Member Functions | |
| ElementKey (priv_tag tag, EvalContext const &ctx, OutputTheory &out, size_t atom_idx, UTheoryTermVec const &terms) | |
| Constructor. | |
| ElementKey (ElementKey const &other)=delete | |
| Prevent copying and moving. | |
| auto | terms () const -> UTheoryTermVec const & |
| Get the terms. | |
| auto | size () const -> size_t |
| Get the size of the tuple. | |
| auto | span () const -> std::span< size_t const > |
| Get the tuple. | |
| auto | hash () const -> size_t |
| Compute a hash for the key. | |
Static Public Member Functions | |
| static void | construct (std::pmr::monotonic_buffer_resource &mbr, EvalContext const &ctx, OutputTheory &out, size_t atom_idx, UTheoryTermVec const &terms, ElementKey *&target) |
| 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.