symbolic
Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
symbolic::Action Class Reference
Inheritance diagram for symbolic::Action:
symbolic::Axiom symbolic::DerivedPredicate symbolic::Predicate

Public Member Functions

 Action (const Pddl &pddl, const VAL::operator_*symbol)
 
 Action (const Pddl &pddl, const std::string &action_call)
 
bool IsValid (const State &state, const std::vector< Object > &arguments) const
 
std::optional< bool > IsValid (const PartialState &state, const std::vector< Object > &arguments) const
 
State Apply (const State &state, const std::vector< Object > &arguments) const
 
bool Apply (const std::vector< Object > &arguments, State *state) const
 
PartialState Apply (const PartialState &state, const std::vector< Object > &arguments) const
 
int Apply (const std::vector< Object > &arguments, PartialState *state) const
 
const VAL::operator_* symbol () const
 
const Pddlpddl () const
 
const std::string & name () const
 
const std::vector< Object > & parameters () const
 
const ParameterGeneratorparameter_generator () const
 
const Formulapreconditions () const
 
const VAL::effect_lists * postconditions () const
 
std::string to_string () const
 
std::string to_string (const std::vector< Object > &arguments) const
 

Static Public Member Functions

static std::pair< Action, std::vector< Object > > Parse (const Pddl &pddl, const std::string &action_call)
 

Protected Attributes

const VAL::operator_* symbol_ = nullptr
 
const Pddlpddl_ = nullptr
 
std::string name_
 
std::vector< Objectparameters_
 
ParameterGenerator param_gen_
 
Formula Preconditions_
 
std::function< int(const std::vector< Object > &, State *)> Apply_
 
std::function< int(const std::vector< Object > &, PartialState *)> ApplyPartial_
 

Friends

bool operator< (const Action &lhs, const Action &rhs)
 
bool operator== (const Action &lhs, const Action &rhs)
 
std::ostream & operator<< (std::ostream &os, const Action &action)
 

Member Function Documentation

◆ Apply()

int symbolic::Action::Apply ( const std::vector< Object > &  arguments,
PartialState state 
) const
inline
Returns
0 if no change was made, 1 if the value of at least one proposition became explicit, 2 if value of at least one proposition was flipped.

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