Clingo
Loading...
Searching...
No Matches
CppClingo::Ground::StateHdAggr::ElementKey Class Reference

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.
 

Detailed Description

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.


The documentation for this class was generated from the following file: