Clingo
Loading...
Searching...
No Matches
CppClingo::Ground::AtomDisjunction Class Reference

Extensible ground representation of disjunctions. More...

#include <disjunction.hh>

Public Member Functions

auto is_fact () const -> bool
 Check if the disjunction is a fact.
 
void mark_fact ()
 Mark the disjunction as fact.
 
auto enqueue () -> bool
 Enqueue the atom for propagation.
 
void dequeue ()
 Dequeue the atom after propagation.
 
void add_elem (size_t idx)
 Add a new element.
 
auto elems () const -> std::span< size_t const >
 Get the disjunction elements.
 
auto todo () -> std::span< size_t const >
 Get the disjunction elements to propagate.
 
auto uid () const -> std::optional< size_t >
 Get the unique id of the disjunction atom.
 
void uid (size_t uid)
 Set the unique id of the disjunction atom.
 

Detailed Description

Extensible ground representation of disjunctions.

Elements can be added to this representation and it can be enqueued for later propagation. Propagation derives not yet propagated head atoms as long as the disjunction is not marked as fact.

Member Function Documentation

◆ dequeue()

void CppClingo::Ground::AtomDisjunction::dequeue ( )

Dequeue the atom after propagation.

Also marks elements as propagated.


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