clingo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Namespaces | Classes | Typedefs | Enumerations | Functions
Gringo::Ground Namespace Reference

Namespaces

 Debug
 
 Test
 

Classes

struct  AssignmentAggregateAccumulate
 
struct  AssignmentAggregateDomain
 
struct  AssignmentAggregateLiteral
 
struct  BackjumpBinder
 
struct  Binder
 
struct  BodyAggregateAccumulate
 
struct  BodyAggregateDomain
 
struct  BodyAggregateLiteral
 
struct  BodyOccurrence
 
struct  ConjunctionAccumulate
 
struct  ConjunctionAccumulateEmpty
 
struct  ConjunctionAccumulateFact
 
struct  ConjunctionDomain
 
struct  ConjunctionHead
 
struct  ConjunctionLiteral
 
struct  CSPLiteral
 
struct  Dependency
 
struct  DisjointAccumulate
 
struct  DisjointDomain
 
struct  DisjointLiteral
 
struct  DisjunctionAccumulate
 
struct  DisjunctionDomain
 
struct  DisjunctionLiteral
 
struct  DisjunctionRule
 
struct  ExternalBodyOcc
 
struct  ExternalRule
 
struct  HeadAggregateAccumulate
 
struct  HeadAggregateDomain
 
struct  HeadAggregateLiteral
 
struct  HeadAggregateRule
 
struct  HeadDefinition
 
struct  HeadDummyDep
 
struct  HeadOccurrence
 
struct  Instantiator
 
struct  Literal
 
struct  Lookup
 
struct  Matcher
 
struct  Parameters
 
struct  PosBinder
 
struct  PosMatcher
 
struct  PredicateLiteral
 
struct  Program
 
struct  ProjectionLiteral
 
struct  Queue
 
struct  RangeLiteral
 
struct  RelationLiteral
 
struct  Rule
 
struct  ScriptLiteral
 
struct  SolutionBinder
 
struct  SolutionCallback
 
struct  Statement
 
struct  WeakConstraint
 

Typedefs

using LocSet = std::set< Location >
 
using SigSet = unique_list< FWSignature >
 
using UndefVec = std::vector< std::pair< Location, Printable const * >>
 
using UIdx = std::unique_ptr< Binder >
 
typedef std::vector< InstantiatorInstVec
 
typedef BodyOccurrence
< HeadOccurrence
BodyOcc
 
using ULit = std::unique_ptr< Literal >
 
using ULitVec = std::vector< ULit >
 
using RangeLiteralShared = std::pair< UTerm, UTerm >
 
using ScriptLiteralShared = std::pair< FWString, UTermVec >
 
using RelationShared = std::tuple< Relation, UTerm, UTerm >
 
using CSPLiteralShared = std::tuple< Relation, CSPAddTerm, CSPAddTerm >
 
using IdVec = std::vector< std::pair< Location, FWString >>
 
using SEdb = std::shared_ptr< std::pair< UTerm, ValVec >>
 
using SEdbVec = std::vector< SEdb >
 
using FWValVecSet = std::set< FWValVec >
 
using ParamSet = std::map< FWSignature, FWValVecSet >
 
using UStm = std::unique_ptr< Statement >
 
using UStmVec = std::vector< UStm >
 
typedef std::vector< UStmVecUStmVecVec
 
typedef std::vector
< HeadDefinition
HeadDefVec
 
using UHeadDef = std::unique_ptr< HeadDefinition >
 
typedef std::shared_ptr
< BodyAggregateDomain
SBodyAggregateDomain
 
typedef std::shared_ptr
< AssignmentAggregateDomain
SAssignmentAggregateDomain
 
typedef std::shared_ptr
< ConjunctionDomain
SConjunctionDomain
 
using HeadAggregateState = Output::HeadAggregateState
 
typedef std::shared_ptr
< HeadAggregateDomain
SHeadAggregateDomain
 
using DisjunctionState = Output::DisjunctionState
 
typedef std::shared_ptr
< DisjunctionDomain
SDisjunctionDomain
 
using SDisjointDomain = std::shared_ptr< DisjointDomain >
 

Enumerations

enum  OccurrenceType { OccurrenceType::POSITIVELY_STRATIFIED, OccurrenceType::STRATIFIED, OccurrenceType::UNSTRATIFIED }
 

Functions

template<class Element >
UIdx make_binder (AbstractDomain< Element > &domain, NAF naf, Term const &repr, typename AbstractDomain< Element >::element_type *&elem, BinderType type, bool recursive, Term::VarSet &bound, int imported)
 
std::ostream & operator<< (std::ostream &out, BackjumpBinder &x)
 
std::ostream & operator<< (std::ostream &out, Instantiator &x)
 
double estimate (unsigned size, Term const &term, Term::VarSet const &bound)
 
std::ostream & operator<< (std::ostream &out, Program const &x)
 
void init (BoundVec const &bounds, IntervalSet< Value > &set)
 

Typedef Documentation

using Gringo::Ground::FWValVecSet = typedef std::set<FWValVec>
using Gringo::Ground::IdVec = typedef std::vector<std::pair<Location, FWString>>
typedef std::vector<Instantiator> Gringo::Ground::InstVec
using Gringo::Ground::LocSet = typedef std::set<Location>
using Gringo::Ground::ParamSet = typedef std::map<FWSignature, FWValVecSet>
using Gringo::Ground::RangeLiteralShared = typedef std::pair<UTerm, UTerm>
using Gringo::Ground::RelationShared = typedef std::tuple<Relation, UTerm, UTerm>
using Gringo::Ground::SDisjointDomain = typedef std::shared_ptr<DisjointDomain>
using Gringo::Ground::SEdb = typedef std::shared_ptr<std::pair<UTerm, ValVec>>
using Gringo::Ground::SEdbVec = typedef std::vector<SEdb>
using Gringo::Ground::UHeadDef = typedef std::unique_ptr<HeadDefinition>
using Gringo::Ground::UIdx = typedef std::unique_ptr<Binder>
typedef std::unique_ptr< Literal > Gringo::Ground::ULit
typedef std::vector< ULit > Gringo::Ground::ULitVec
using Gringo::Ground::UndefVec = typedef std::vector<std::pair<Location, Printable const *>>
typedef std::unique_ptr< Statement > Gringo::Ground::UStm
typedef std::vector< UStm > Gringo::Ground::UStmVec
typedef std::vector<UStmVec> Gringo::Ground::UStmVecVec

Enumeration Type Documentation

Enumerator
POSITIVELY_STRATIFIED 
STRATIFIED 
UNSTRATIFIED 

Function Documentation

double Gringo::Ground::estimate ( unsigned  size,
Term const &  term,
Term::VarSet const &  bound 
)
inline

Here is the call graph for this function:

void Gringo::Ground::init ( BoundVec const &  bounds,
IntervalSet< Value > &  set 
)

Here is the call graph for this function:

template<class Element >
UIdx Gringo::Ground::make_binder ( AbstractDomain< Element > &  domain,
NAF  naf,
Term const &  repr,
typename AbstractDomain< Element >::element_type *&  elem,
BinderType  type,
bool  recursive,
Term::VarSet &  bound,
int  imported 
)
inline

Here is the call graph for this function:

std::ostream & Gringo::Ground::operator<< ( std::ostream &  out,
Program const &  x 
)
std::ostream& Gringo::Ground::operator<< ( std::ostream &  out,
BackjumpBinder &  x 
)
inline
std::ostream& Gringo::Ground::operator<< ( std::ostream &  out,
Instantiator &  x 
)
inline

Here is the call graph for this function: