clingo
|
#include <statements.hh>
Public Types | |
using | MarksQueue = std::deque< unsigned > |
using | AccumulateVec = std::vector< std::pair< PredicateDomain &, HeadDefinition >> |
using | TodoVec = std::vector< std::reference_wrapper< HeadAggregateState >> |
Public Types inherited from Gringo::AbstractDomain< HeadAggregateState > | |
using | element_map = std::unordered_map< Value, HeadAggregateState > |
using | element_type = typename element_map::value_type |
using | bind_index_type = BindIndex< element_type > |
using | full_index_type = FullIndex< element_type > |
using | exports_type = typename bind_index_type::exports_type |
using | element_vec = typename exports_type::element_vec |
using | bind_index_set = std::unordered_set< bind_index_type, call_hash< bind_index_type >> |
using | full_index_set = std::unordered_set< full_index_type, call_hash< full_index_type >> |
Public Member Functions | |
HeadAggregateDomain (UTerm &&repr, AggregateFunction fun, BoundVec &&bounds, FWString dummy) | |
HeadAggregateState & | insert (Value rep) |
void | accumulate (unsigned headNum, ValVec const &tuple, Output::LitVec const &lits, Location const &loc) |
AccumulateVec::value_type & | head (unsigned x) |
virtual void | accumulateMark () |
virtual void | accumulateUnmark (Queue &queue) |
virtual void | mark () |
virtual void | unmark () |
virtual | ~HeadAggregateDomain () |
Public Member Functions inherited from Gringo::AbstractDomain< HeadAggregateState > | |
AbstractDomain () | |
AbstractDomain (AbstractDomain const &)=delete | |
AbstractDomain (AbstractDomain &&)=delete | |
void | init () |
virtual element_type & | reserve (Value x) |
bind_index_type & | add (SValVec &&bound, UTerm &&repr) |
full_index_type & | add (UTerm &&repr, unsigned imported) |
element_type * | lookup (Term const &repr, RECNAF naf) |
element_type * | lookup (Term const &repr, BinderType type) |
bool | check (Term const &repr, unsigned &imported) |
void | clear () |
virtual void | setEnqueued (bool x) |
virtual bool | isEnqueued () const |
virtual bool | expire () |
virtual void | doClear () |
virtual | ~AbstractDomain () |
Public Member Functions inherited from Gringo::Domain | |
virtual | ~Domain () |
Public Attributes | |
MarksQueue | marks |
UTerm | repr |
AggregateFunction | fun |
BoundVec | bounds |
HeadDummyDep | dummy |
AccumulateVec | heads |
TodoVec | todo |
unsigned | numBlocked = 0 |
unsigned | blocked = 0 |
Public Attributes inherited from Gringo::AbstractDomain< HeadAggregateState > | |
bind_index_set | indices |
full_index_set | fullIndices |
element_map | domain |
exports_type | exports |
bool | enqueued |
using Gringo::Ground::HeadAggregateDomain::AccumulateVec = std::vector<std::pair<PredicateDomain&, HeadDefinition>> |
using Gringo::Ground::HeadAggregateDomain::MarksQueue = std::deque<unsigned> |
using Gringo::Ground::HeadAggregateDomain::TodoVec = std::vector<std::reference_wrapper<HeadAggregateState>> |
Gringo::Ground::HeadAggregateDomain::HeadAggregateDomain | ( | UTerm && | repr, |
AggregateFunction | fun, | ||
BoundVec && | bounds, | ||
FWString | dummy | ||
) |
|
virtual |
void Gringo::Ground::HeadAggregateDomain::accumulate | ( | unsigned | headNum, |
ValVec const & | tuple, | ||
Output::LitVec const & | lits, | ||
Location const & | loc | ||
) |
|
virtual |
|
virtual |
|
inline |
HeadAggregateState & Gringo::Ground::HeadAggregateDomain::insert | ( | Value | rep | ) |
|
virtual |
Implements Gringo::AbstractDomain< HeadAggregateState >.
|
virtual |
Implements Gringo::AbstractDomain< HeadAggregateState >.
unsigned Gringo::Ground::HeadAggregateDomain::blocked = 0 |
BoundVec Gringo::Ground::HeadAggregateDomain::bounds |
HeadDummyDep Gringo::Ground::HeadAggregateDomain::dummy |
AggregateFunction Gringo::Ground::HeadAggregateDomain::fun |
AccumulateVec Gringo::Ground::HeadAggregateDomain::heads |
MarksQueue Gringo::Ground::HeadAggregateDomain::marks |
unsigned Gringo::Ground::HeadAggregateDomain::numBlocked = 0 |
UTerm Gringo::Ground::HeadAggregateDomain::repr |
TodoVec Gringo::Ground::HeadAggregateDomain::todo |