pl_search_cpp 1.4
|
Classes | |
class | ChoiceIterator |
Base class for choice iterators. More... | |
class | ChoicePred |
Represents a choice predicate. More... | |
class | CList |
Represents a list of terms. More... | |
class | Cut |
Represents a Prolog like cut. When called it pops env_stack thus removing choicepoints. More... | |
class | DetPred |
Represents a deterministic predicate. More... | |
class | DisjPred |
Represents a disjunction of predicates. More... | |
class | Engine |
The Engine class manages the execution of predicates and backtracking. More... | |
struct | env_entry |
Represents an environment entry for predicates. More... | |
class | IfThenElse |
Represents the equivalent of Prolog if-then-else i.e. (G1 -> G2; G3) - similar to (G1, !, G2; G3) ) More... | |
class | Loop |
Constructs a predicate that loops over (instances of) a predicate while some condition (loop_continues) is satisfied. More... | |
class | LoopBodyFactory |
LoopBodyFactory is an abstract base class used for generating instances of a predicate class used in the body of a loop. More... | |
class | NotNot |
Represents an equivalent of the Prolog call \+\+Call. The aim is to determine if Call succeeds without binding any variables in the call. More... | |
class | NotNotEnd |
Intended for internal use by NotNot which injects this call directly after the predicate supplied to the NotNot constructor. More... | |
class | PAtom |
Represents a Prolog atom. More... | |
class | PFloat |
Represents a Prolog float. More... | |
class | PInt |
Represents a Prolog integer. More... | |
class | Pred |
Abstract base class for Prolog-like predicates. More... | |
class | PVar |
Represents a Prolog variable. More... | |
class | SemiDetPred |
Represents a semi-deterministic predicate. More... | |
class | Term |
Abstract base class for terms that approximate Prolog terms. More... | |
struct | trail_entry |
Represents a trail entry for backtracking. More... | |
class | UpdatablePVar |
UpdatableVar implements what some Prologs call updatable assignment. More... | |
class | VarChoiceIterator |
Choice iterator for variables. More... | |
Typedefs | |
typedef std::shared_ptr< ChoiceIterator > | ChoiceIteratorPtr |
typedef std::shared_ptr< Pred > | PredPtr |
Typedef for a shared pointer to a Pred object. | |
typedef std::shared_ptr< Term > | TermPtr |
Typedefs for shared pointers to Terms and subclasses. | |
typedef std::shared_ptr< PVar > | PVarPtr |
typedef std::shared_ptr< PInt > | PIntPtr |
typedef std::shared_ptr< PFloat > | PFloatPtr |
typedef std::shared_ptr< PAtom > | PAtomPtr |
typedef std::shared_ptr< CList > | CListPtr |
typedef std::shared_ptr< UpdatablePVar > | UpdatablePVarPtr |
Functions | |
PredPtr | conjunction (std::vector< PredPtr > preds) |
Represents a conjunction of predicates by chaining them together via continuations. | |
std::string | repr (PredPtr pred) |
bool | operator== (Term &t1, Term &t2) |
== test for TermPtrs | |
bool | operator< (Term &t1, Term &t2) |
< operator for Terms. Approximates the < operator in Prolog. The ordering is as follows: pvar < pint, pfloat < patom < clist < user-defined classes "older" vars are less than "newer" vars patoms are ordered by name pints and pfloats are ordered by value clists are ordered by the first element, then the second, etc. | |
bool | operator<= (Term &t1, Term &t2) |
<= operator for Terms | |
typedef std::shared_ptr<ChoiceIterator> pl_search::ChoiceIteratorPtr |
typedef std::shared_ptr<CList> pl_search::CListPtr |
typedef std::shared_ptr<PAtom> pl_search::PAtomPtr |
typedef std::shared_ptr<PFloat> pl_search::PFloatPtr |
typedef std::shared_ptr<PInt> pl_search::PIntPtr |
typedef std::shared_ptr<Pred> pl_search::PredPtr |
Typedef for a shared pointer to a Pred object.
typedef std::shared_ptr<PVar> pl_search::PVarPtr |
typedef std::shared_ptr<Term> pl_search::TermPtr |
Typedefs for shared pointers to Terms and subclasses.
typedef std::shared_ptr<UpdatablePVar> pl_search::UpdatablePVarPtr |
Represents a conjunction of predicates by chaining them together via continuations.
Creates a conjunction of predicates.
preds | A vector of shared pointers to the predicates. |
< operator for Terms. Approximates the < operator in Prolog. The ordering is as follows: pvar < pint, pfloat < patom < clist < user-defined classes "older" vars are less than "newer" vars patoms are ordered by name pints and pfloats are ordered by value clists are ordered by the first element, then the second, etc.
< operator for Terms.
t1 | The first term. |
t2 | The second term. |
<= operator for Terms
<= operator for Term
t1 | The first term. |
t2 | The second term. |
== test for TermPtrs
== operator for Terms
t1 | The first term. |
t2 | The second term. |
std::string pl_search::repr | ( | PredPtr | pred | ) |