#include <logic_program_types.h>
| Classes | |
| struct | Call | 
| Public Member Functions | |
| SccChecker (LogicProgram &prg, AtomList &sccAtoms, uint32 startScc) | |
| uint32 | sccs () const | 
| void | visit (PrgBody *body) | 
| void | visit (PrgAtom *atom) | 
| void | visit (PrgDisj *disj) | 
| Private Types | |
| typedef PodVector< Call >::type | CallStack | 
| typedef PodVector< uintp >::type | NodeStack | 
| Private Member Functions | |
| void | addCall (PrgNode *n, NodeType t, uint32 next, uint32 min=0) | 
| bool | doVisit (PrgNode *n, bool seen=true) const | 
| bool | onNode (PrgNode *n, NodeType t, Call &c, uint32 data) | 
| bool | recurse (Call &c) | 
| void | visitDfs (PrgNode *n, NodeType t) | 
| Static Private Member Functions | |
| static bool | isNode (uintp n, NodeType t) | 
| static uintp | packNode (PrgNode *n, NodeType t) | 
| static PrgNode * | unpackNode (uintp n) | 
| Private Attributes | |
| CallStack | callStack_ | 
| uint32 | count_ | 
| NodeStack | nodeStack_ | 
| LogicProgram * | prg_ | 
| AtomList * | sccAtoms_ | 
| uint32 | sccs_ | 
Definition at line 675 of file logic_program_types.h.
| typedef PodVector<Call>::type Clasp::Asp::SccChecker::CallStack  [private] | 
Definition at line 688 of file logic_program_types.h.
| typedef PodVector<uintp>::type Clasp::Asp::SccChecker::NodeStack  [private] | 
Definition at line 689 of file logic_program_types.h.
| Clasp::Asp::SccChecker::SccChecker | ( | LogicProgram & | prg, | 
| AtomList & | sccAtoms, | ||
| uint32 | startScc | ||
| ) | 
Definition at line 396 of file logic_program_types.cpp.
| void Clasp::Asp::SccChecker::addCall | ( | PrgNode * | n, | 
| NodeType | t, | ||
| uint32 | next, | ||
| uint32 | min = 0 | ||
| ) |  [inline, private] | 
Definition at line 697 of file logic_program_types.h.
| bool Clasp::Asp::SccChecker::doVisit | ( | PrgNode * | n, | 
| bool | seen = true | ||
| ) | const  [inline, private] | 
Definition at line 693 of file logic_program_types.h.
| static bool Clasp::Asp::SccChecker::isNode | ( | uintp | n, | 
| NodeType | t | ||
| ) |  [inline, static, private] | 
Definition at line 692 of file logic_program_types.h.
| bool Clasp::Asp::SccChecker::onNode | ( | PrgNode * | n, | 
| NodeType | t, | ||
| Call & | c, | ||
| uint32 | data | ||
| ) |  [private] | 
Definition at line 487 of file logic_program_types.cpp.
| static uintp Clasp::Asp::SccChecker::packNode | ( | PrgNode * | n, | 
| NodeType | t | ||
| ) |  [inline, static, private] | 
Definition at line 690 of file logic_program_types.h.
| bool Clasp::Asp::SccChecker::recurse | ( | Call & | c | ) |  [private] | 
Definition at line 447 of file logic_program_types.cpp.
| uint32 Clasp::Asp::SccChecker::sccs | ( | ) | const  [inline] | 
Definition at line 678 of file logic_program_types.h.
| static PrgNode* Clasp::Asp::SccChecker::unpackNode | ( | uintp | n | ) |  [inline, static, private] | 
Definition at line 691 of file logic_program_types.h.
| void Clasp::Asp::SccChecker::visit | ( | PrgBody * | body | ) |  [inline] | 
Definition at line 679 of file logic_program_types.h.
| void Clasp::Asp::SccChecker::visit | ( | PrgAtom * | atom | ) |  [inline] | 
Definition at line 680 of file logic_program_types.h.
| void Clasp::Asp::SccChecker::visit | ( | PrgDisj * | disj | ) |  [inline] | 
Definition at line 681 of file logic_program_types.h.
| void Clasp::Asp::SccChecker::visitDfs | ( | PrgNode * | n, | 
| NodeType | t | ||
| ) |  [private] | 
Definition at line 406 of file logic_program_types.cpp.
| CallStack Clasp::Asp::SccChecker::callStack_  [private] | 
Definition at line 701 of file logic_program_types.h.
| uint32 Clasp::Asp::SccChecker::count_  [private] | 
Definition at line 705 of file logic_program_types.h.
| NodeStack Clasp::Asp::SccChecker::nodeStack_  [private] | 
Definition at line 702 of file logic_program_types.h.
| LogicProgram* Clasp::Asp::SccChecker::prg_  [private] | 
Definition at line 703 of file logic_program_types.h.
| AtomList* Clasp::Asp::SccChecker::sccAtoms_  [private] | 
Definition at line 704 of file logic_program_types.h.
| uint32 Clasp::Asp::SccChecker::sccs_  [private] | 
Definition at line 706 of file logic_program_types.h.