clingo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
Gringo::Ground::Dependency< Stm, HeadOcc > Struct Template Reference

#include <dependency.hh>

Collaboration diagram for Gringo::Ground::Dependency< Stm, HeadOcc >:
Collaboration graph

Classes

struct  Node
 

Public Types

typedef std::vector< Node * > NodeVec
 
typedef std::tuple
< BodyOccurrence< HeadOcc >
*, NodeVec, bool > 
Depend
 
typedef std::pair< Node
*, typename NodeVec::size_type > 
Provide
 
typedef Ground::Lookup< ProvideLookup
 
typedef Graph< Node * > G
 
typedef std::vector< std::pair
< std::vector< Stm >, bool > > 
ComponentVec
 

Public Member Functions

Nodeadd (Stm &&stm, bool normal)
 
void depends (Node &n, BodyOccurrence< HeadOcc > &occ, bool forceNegative=false)
 
void provides (Node &n, HeadOcc &occ, UGTerm &&term)
 
ComponentVec analyze ()
 

Public Attributes

UGTermVec terms
 
Lookup depend
 
std::forward_list< Nodenodes
 
std::vector< std::tuple< Node
*, std::reference_wrapper
< HeadOcc >, UGTerm > > 
heads
 

Member Typedef Documentation

template<class Stm, class HeadOcc>
typedef std::vector<std::pair<std::vector<Stm>,bool> > Gringo::Ground::Dependency< Stm, HeadOcc >::ComponentVec
template<class Stm, class HeadOcc>
typedef std::tuple<BodyOccurrence<HeadOcc>*, NodeVec, bool> Gringo::Ground::Dependency< Stm, HeadOcc >::Depend
template<class Stm, class HeadOcc>
typedef Graph<Node*> Gringo::Ground::Dependency< Stm, HeadOcc >::G
template<class Stm, class HeadOcc>
typedef Ground::Lookup<Provide> Gringo::Ground::Dependency< Stm, HeadOcc >::Lookup
template<class Stm, class HeadOcc>
typedef std::vector<Node*> Gringo::Ground::Dependency< Stm, HeadOcc >::NodeVec
template<class Stm, class HeadOcc>
typedef std::pair<Node*, typename NodeVec::size_type> Gringo::Ground::Dependency< Stm, HeadOcc >::Provide

Member Function Documentation

template<class Stm, class HeadOcc >
Dependency< Stm, HeadOcc >::Node & Gringo::Ground::Dependency< Stm, HeadOcc >::add ( Stm &&  stm,
bool  normal 
)
template<class Stm , class HeadOcc >
Dependency< Stm, HeadOcc >::ComponentVec Gringo::Ground::Dependency< Stm, HeadOcc >::analyze ( )

Here is the call graph for this function:

template<class Stm , class HeadOcc>
void Gringo::Ground::Dependency< Stm, HeadOcc >::depends ( Node n,
BodyOccurrence< HeadOcc > &  occ,
bool  forceNegative = false 
)

Here is the call graph for this function:

template<class Stm , class HeadOcc>
void Gringo::Ground::Dependency< Stm, HeadOcc >::provides ( Node n,
HeadOcc &  occ,
UGTerm &&  term 
)

Member Data Documentation

template<class Stm, class HeadOcc>
Lookup Gringo::Ground::Dependency< Stm, HeadOcc >::depend
template<class Stm, class HeadOcc>
std::vector<std::tuple<Node*, std::reference_wrapper<HeadOcc>, UGTerm> > Gringo::Ground::Dependency< Stm, HeadOcc >::heads
template<class Stm, class HeadOcc>
std::forward_list<Node> Gringo::Ground::Dependency< Stm, HeadOcc >::nodes
template<class Stm, class HeadOcc>
UGTermVec Gringo::Ground::Dependency< Stm, HeadOcc >::terms

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