clingo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Public Types | Public Member Functions | Public Attributes | List of all members
Gringo::Ground::AssignmentAggregateDomain Struct Reference

#include <statements.hh>

Inheritance diagram for Gringo::Ground::AssignmentAggregateDomain:
Inheritance graph
Collaboration diagram for Gringo::Ground::AssignmentAggregateDomain:
Collaboration graph

Public Types

using DataMap = std::unordered_map< Value, AssignmentAggregateState::Data >
 
using DataVec = std::vector< std::reference_wrapper< DataMap::value_type >>
 
- Public Types inherited from Gringo::AbstractDomain< AssignmentAggregateState >
using element_map = std::unordered_map< Value, AssignmentAggregateState >
 
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

 AssignmentAggregateDomain (UTerm &&repr, UTerm &&specialRepr, AggregateFunction fun)
 
void insert (Value const &repr, ValVec const &tuple, Output::LitVec const &cond, Location const &loc)
 
template<class Vec >
void insert (Vec const &values, DataMap::value_type &y)
 
virtual void mark ()
 
virtual void unmark ()
 
virtual ~AssignmentAggregateDomain ()
 
- Public Member Functions inherited from Gringo::AbstractDomain< AssignmentAggregateState >
 AbstractDomain ()
 
 AbstractDomain (AbstractDomain const &)=delete
 
 AbstractDomain (AbstractDomain &&)=delete
 
void init ()
 
virtual element_typereserve (Value x)
 
bind_index_typeadd (SValVec &&bound, UTerm &&repr)
 
full_index_typeadd (UTerm &&repr, unsigned imported)
 
element_typelookup (Term const &repr, RECNAF naf)
 
element_typelookup (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

DataMap dataMap
 
DataVec dataVec
 
UTerm repr
 
UTerm specialRepr
 
Location const * loc
 
AggregateFunction fun
 
ValVec valsCache
 
unsigned numBlocked = 0
 
unsigned blocked = 0
 
unsigned marks = 0
 
unsigned offset = 0
 
- Public Attributes inherited from Gringo::AbstractDomain< AssignmentAggregateState >
bind_index_set indices
 
full_index_set fullIndices
 
element_map domain
 
exports_type exports
 
bool enqueued
 

Member Typedef Documentation

using Gringo::Ground::AssignmentAggregateDomain::DataMap = std::unordered_map<Value, AssignmentAggregateState::Data>
using Gringo::Ground::AssignmentAggregateDomain::DataVec = std::vector<std::reference_wrapper<DataMap::value_type>>

Constructor & Destructor Documentation

Gringo::Ground::AssignmentAggregateDomain::AssignmentAggregateDomain ( UTerm &&  repr,
UTerm &&  specialRepr,
AggregateFunction  fun 
)
Gringo::Ground::AssignmentAggregateDomain::~AssignmentAggregateDomain ( )
virtual

Member Function Documentation

void Gringo::Ground::AssignmentAggregateDomain::insert ( Value const &  repr,
ValVec const &  tuple,
Output::LitVec const &  cond,
Location const &  loc 
)

Here is the call graph for this function:

template<class Vec >
void Gringo::Ground::AssignmentAggregateDomain::insert ( Vec const &  values,
DataMap::value_type &  y 
)

Here is the call graph for this function:

void Gringo::Ground::AssignmentAggregateDomain::mark ( )
virtual
void Gringo::Ground::AssignmentAggregateDomain::unmark ( )
virtual

Implements Gringo::AbstractDomain< AssignmentAggregateState >.

Here is the call graph for this function:

Member Data Documentation

unsigned Gringo::Ground::AssignmentAggregateDomain::blocked = 0
DataMap Gringo::Ground::AssignmentAggregateDomain::dataMap
DataVec Gringo::Ground::AssignmentAggregateDomain::dataVec
AggregateFunction Gringo::Ground::AssignmentAggregateDomain::fun
Location const* Gringo::Ground::AssignmentAggregateDomain::loc
unsigned Gringo::Ground::AssignmentAggregateDomain::marks = 0
unsigned Gringo::Ground::AssignmentAggregateDomain::numBlocked = 0
unsigned Gringo::Ground::AssignmentAggregateDomain::offset = 0
UTerm Gringo::Ground::AssignmentAggregateDomain::repr
UTerm Gringo::Ground::AssignmentAggregateDomain::specialRepr
ValVec Gringo::Ground::AssignmentAggregateDomain::valsCache

The documentation for this struct was generated from the following files: