pl_search_cpp 1.4
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
pl_search::NotNotEnd Class Reference

Intended for internal use by NotNot which injects this call directly after the predicate supplied to the NotNot constructor. More...

#include <pred.hpp>

Inheritance diagram for pl_search::NotNotEnd:
Inheritance graph
[legend]
Collaboration diagram for pl_search::NotNotEnd:
Collaboration graph
[legend]

Public Member Functions

 NotNotEnd (Engine *eng, bool *succ)
 NotNot::initialize_call uses this to "terminate" the call supplied to NotNot.
 
void initialize_call () override
 Initializes the predicate call.
 
bool apply_choice () override
 Applies a choice for the not-not-end predicate.
 
- Public Member Functions inherited from pl_search::SemiDetPred
 SemiDetPred (Engine *eng)
 Represents a semi-deterministic predicate.
 
bool more_choices () override
 Applies a choice.
 
bool is_non_det ()
 
- Public Member Functions inherited from pl_search::Pred
 Pred (Engine *eng)
 Default constructor.
 
PredPtr get_continuation ()
 Gets the continuation of the predicate.
 
virtual void set_continuation (PredPtr cont)
 Sets the continuation of the predicate.
 
PredPtr last_pred ()
 Follows the continuation chain to the last predicate.
 
bool is_non_det ()
 Determines if the predicate is non-deterministic.
 
void wrap_with_once ()
 Wraps the predicate with a once.
 
virtual ~Pred ()=default
 Virtual destructor for proper cleanup.
 
std::string get_name ()
 For debugging.
 

Protected Attributes

bool * succeeded
 
- Protected Attributes inherited from pl_search::Pred
PredPtr continuation
 The continuation of the predicate.
 
Engineengine
 

Detailed Description

Intended for internal use by NotNot which injects this call directly after the predicate supplied to the NotNot constructor.

Constructor & Destructor Documentation

◆ NotNotEnd()

pl_search::NotNotEnd::NotNotEnd ( Engine eng,
bool *  succ 
)
inline

NotNot::initialize_call uses this to "terminate" the call supplied to NotNot.

Parameters
engPointer to the engine.
succis used to flag if this object is called - i.e. the call to NotNot succeeded.

Member Function Documentation

◆ apply_choice()

bool pl_search::NotNotEnd::apply_choice ( )
overridevirtual

Applies a choice for the not-not-end predicate.

Returns
False

Reimplemented from pl_search::Pred.

◆ initialize_call()

void pl_search::NotNotEnd::initialize_call ( )
inlineoverridevirtual

Initializes the predicate call.

Reimplemented from pl_search::Pred.

Member Data Documentation

◆ succeeded

bool* pl_search::NotNotEnd::succeeded
protected

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