Clingo
|
Base class for groundable statements. More...
#include <statement.hh>
Public Member Functions | |
auto | body () const -> ULitVec const & |
Get the body of the statement. | |
auto | important () const -> VariableSet |
Get the important variables in the statement. | |
![]() | |
virtual | ~InstanceCallback ()=default |
Destroy the callback. | |
void | init (size_t gen) |
Notify a statement that instantiation starts. | |
auto | report (EvalContext const &ctx) -> bool |
Report an assignment giving rise to an instance for a statement. | |
void | propagate (SymbolStore &store, OutputStm &out, Queue &queue) |
Notify a statement that instantiation has finished. | |
auto | priority () const -> size_t |
The priority of the callback. | |
void | print_head (std::ostream &out) const |
Print representation for debugging. | |
auto | is_important (size_t index) const -> bool |
Check if the literal with the given index is important. | |
Friends | |
auto | operator<< (std::ostream &out, Stm const &stm) -> std::ostream & |
Print the statement. | |
Base class for groundable statements.
|
inline |
Get the important variables in the statement.
This comprises all variables that have to be bound to provide relevant instances. Relevant important variables from the body are gathered separately. For example, normal rules should provide the variables in the rule head, and integrity constraint can return an empty set.