Classes | Public Member Functions | Private Member Functions | Private Attributes
Operator Class Reference

#include <operator.h>

Inheritance diagram for Operator:
Inheritance graph
[legend]

List of all members.

Classes

struct  EffCond
struct  ModuleEffect
struct  NumericalEffect
struct  PrePost
struct  Prevail

Public Member Functions

void dump () const
void dump () const
bool enables (const Operator *other) const
void generate_cpp_input (ostream &outfile) const
double get_duration (const TimeStampedState *state, bool relaxed=false) const
 Calculate the duration of this operator when applied in state.
const DurationCondget_duration_cond () const
const int & get_duration_var () const
const vector< ModuleEffect > & get_mod_effs_end () const
const vector< ModuleEffect > & get_mod_effs_start () const
const string & get_name () const
string get_name () const
const vector< NumericalEffect > & get_numerical_effs_end () const
const vector< NumericalEffect > & get_numerical_effs_start () const
const vector< PrePost > & get_pre_post_end () const
const vector< PrePost > & get_pre_post_end () const
const vector< PrePost > & get_pre_post_start () const
const vector< PrePost > & get_pre_post_start () const
const vector< Prevail > & get_prevail_end () const
const vector< Prevail > & get_prevail_end () const
const vector< Prevail > & get_prevail_overall () const
const vector< Prevail > & get_prevail_overall () const
const vector< Prevail > & get_prevail_start () const
const vector< Prevail > & get_prevail_start () const
bool is_applicable (const TimeStampedState &state, bool allowRelaxed=false, TimedSymbolicStates *timedSymbolicStates=NULL) const
 Compute applicability of this operator in state.
bool is_redundant () const
bool isDisabledBy (const Operator *other) const
 Operator (std::istream &in)
 Operator (bool uses_concrete_time_information)
 Operator (istream &in, const vector< Variable * > &variables)
bool operator< (const Operator &other) const
void strip_unimportant_effects ()
void write_effect_conds (ostream &outfile, const vector< EffCond > &conds) const
void write_module_effect (ostream &outfile, const vector< ModuleEffect > &mod_effs) const
void write_num_effect (ostream &outfile, const vector< NumericalEffect > &num_effs) const
void write_pre_posts (ostream &outfile, const vector< PrePost > &pre_posts) const
void write_prevails (ostream &outfile, const vector< Prevail > &prevails) const
virtual ~Operator ()

Private Member Functions

bool achievesPrecond (const vector< PrePost > &effects, const vector< Prevail > &conds) const
bool achievesPrecond (const vector< PrePost > &effs1, const vector< PrePost > &effs2) const
bool deletesPrecond (const vector< Prevail > &conds, const vector< PrePost > &effects) const
bool deletesPrecond (const vector< PrePost > &effs1, const vector< PrePost > &effs2) const
void sort_prevails (vector< Prevail > &prevails)
bool writesOnSameVar (const vector< PrePost > &conds, const vector< PrePost > &effects) const

Private Attributes

DurationCond duration_cond
int duration_var
vector< ModuleEffectmod_effs_end
vector< ModuleEffectmod_effs_start
vector< ModuleEffectmodule_effs_end
vector< ModuleEffectmodule_effs_start
string name
vector< NumericalEffectnumerical_effs_end
vector< NumericalEffectnumerical_effs_start
vector< PrePostpre_post_end
vector< PrePostpre_post_start
vector< Prevailprevail_end
vector< Prevailprevail_overall
vector< Prevailprevail_start

Detailed Description

Definition at line 13 of file preprocess/operator.h.


Constructor & Destructor Documentation

Operator::Operator ( istream &  in,
const vector< Variable * > &  variables 
)

Definition at line 10 of file preprocess/operator.cpp.

Operator::Operator ( std::istream &  in)
Operator::Operator ( bool  uses_concrete_time_information) [explicit]

Definition at line 147 of file search/operator.cpp.

virtual Operator::~Operator ( ) [inline, virtual]

Definition at line 91 of file search/operator.h.


Member Function Documentation

bool Operator::achievesPrecond ( const vector< PrePost > &  effects,
const vector< Prevail > &  conds 
) const [private]

Definition at line 298 of file search/operator.cpp.

bool Operator::achievesPrecond ( const vector< PrePost > &  effs1,
const vector< PrePost > &  effs2 
) const [private]

Definition at line 312 of file search/operator.cpp.

bool Operator::deletesPrecond ( const vector< Prevail > &  conds,
const vector< PrePost > &  effects 
) const [private]

Definition at line 327 of file search/operator.cpp.

bool Operator::deletesPrecond ( const vector< PrePost > &  effs1,
const vector< PrePost > &  effs2 
) const [private]

Definition at line 341 of file search/operator.cpp.

void Operator::dump ( ) const
void Operator::dump ( ) const

Definition at line 153 of file preprocess/operator.cpp.

bool Operator::enables ( const Operator other) const

Definition at line 271 of file search/operator.cpp.

void Operator::generate_cpp_input ( ostream &  outfile) const

Definition at line 389 of file preprocess/operator.cpp.

double Operator::get_duration ( const TimeStampedState state,
bool  relaxed = false 
) const

Calculate the duration of this operator when applied in state.

This function will retrieve the duration and handle cost modules correctly. The state pointer should keep on valid as it can be used for caching in modules.

Definition at line 371 of file search/operator.cpp.

const DurationCond& Operator::get_duration_cond ( ) const [inline]

Definition at line 116 of file preprocess/operator.h.

const int& Operator::get_duration_var ( ) const [inline]

Definition at line 63 of file search/operator.h.

const vector<ModuleEffect>& Operator::get_mod_effs_end ( ) const [inline]

Definition at line 60 of file search/operator.h.

const vector<ModuleEffect>& Operator::get_mod_effs_start ( ) const [inline]

Definition at line 57 of file search/operator.h.

const string& Operator::get_name ( ) const [inline]

Definition at line 66 of file search/operator.h.

string Operator::get_name ( ) const [inline]

Definition at line 113 of file preprocess/operator.h.

const vector<NumericalEffect>& Operator::get_numerical_effs_end ( ) const [inline]

Definition at line 138 of file preprocess/operator.h.

const vector<NumericalEffect>& Operator::get_numerical_effs_start ( ) const [inline]

Definition at line 135 of file preprocess/operator.h.

const vector<PrePost>& Operator::get_pre_post_end ( ) const [inline]

Definition at line 54 of file search/operator.h.

const vector<PrePost>& Operator::get_pre_post_end ( ) const [inline]

Definition at line 132 of file preprocess/operator.h.

const vector<PrePost>& Operator::get_pre_post_start ( ) const [inline]

Definition at line 51 of file search/operator.h.

const vector<PrePost>& Operator::get_pre_post_start ( ) const [inline]

Definition at line 129 of file preprocess/operator.h.

const vector<Prevail>& Operator::get_prevail_end ( ) const [inline]

Definition at line 48 of file search/operator.h.

const vector<Prevail>& Operator::get_prevail_end ( ) const [inline]

Definition at line 126 of file preprocess/operator.h.

const vector<Prevail>& Operator::get_prevail_overall ( ) const [inline]

Definition at line 45 of file search/operator.h.

const vector<Prevail>& Operator::get_prevail_overall ( ) const [inline]

Definition at line 123 of file preprocess/operator.h.

const vector<Prevail>& Operator::get_prevail_start ( ) const [inline]

Definition at line 42 of file search/operator.h.

const vector<Prevail>& Operator::get_prevail_start ( ) const [inline]

Definition at line 120 of file preprocess/operator.h.

bool Operator::is_applicable ( const TimeStampedState state,
bool  allowRelaxed = false,
TimedSymbolicStates timedSymbolicStates = NULL 
) const

Compute applicability of this operator in state.

Parameters:
[in]allowRelaxedif true, only relaxed module calls will be performed.
[out]timedSymbolicStatesif not NULL the timedSymbolicStates will be computed

Definition at line 200 of file search/operator.cpp.

bool Operator::is_redundant ( ) const

Definition at line 318 of file preprocess/operator.cpp.

bool Operator::isDisabledBy ( const Operator other) const

Definition at line 239 of file search/operator.cpp.

bool Operator::operator< ( const Operator other) const

Definition at line 390 of file search/operator.cpp.

void Operator::sort_prevails ( vector< Prevail > &  prevails) [private]

Definition at line 83 of file search/operator.cpp.

Definition at line 290 of file preprocess/operator.cpp.

void Operator::write_effect_conds ( ostream &  outfile,
const vector< EffCond > &  conds 
) const

Definition at line 345 of file preprocess/operator.cpp.

void Operator::write_module_effect ( ostream &  outfile,
const vector< ModuleEffect > &  mod_effs 
) const

Definition at line 376 of file preprocess/operator.cpp.

void Operator::write_num_effect ( ostream &  outfile,
const vector< NumericalEffect > &  num_effs 
) const

Definition at line 363 of file preprocess/operator.cpp.

void Operator::write_pre_posts ( ostream &  outfile,
const vector< PrePost > &  pre_posts 
) const

Definition at line 351 of file preprocess/operator.cpp.

void Operator::write_prevails ( ostream &  outfile,
const vector< Prevail > &  prevails 
) const

Definition at line 335 of file preprocess/operator.cpp.

bool Operator::writesOnSameVar ( const vector< PrePost > &  conds,
const vector< PrePost > &  effects 
) const [private]

Definition at line 358 of file search/operator.cpp.


Member Data Documentation

Definition at line 99 of file preprocess/operator.h.

int Operator::duration_var [private]

Definition at line 23 of file search/operator.h.

Definition at line 22 of file search/operator.h.

Definition at line 21 of file search/operator.h.

Definition at line 97 of file preprocess/operator.h.

Definition at line 96 of file preprocess/operator.h.

string Operator::name [private]

Definition at line 88 of file preprocess/operator.h.

Definition at line 95 of file preprocess/operator.h.

Definition at line 94 of file preprocess/operator.h.

vector< PrePost > Operator::pre_post_end [private]

Definition at line 93 of file preprocess/operator.h.

vector< PrePost > Operator::pre_post_start [private]

Definition at line 92 of file preprocess/operator.h.

vector< Prevail > Operator::prevail_end [private]

Definition at line 91 of file preprocess/operator.h.

vector< Prevail > Operator::prevail_overall [private]

Definition at line 90 of file preprocess/operator.h.

vector< Prevail > Operator::prevail_start [private]

Definition at line 89 of file preprocess/operator.h.


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


tfd_modules
Author(s): Maintained by Christian Dornhege (see AUTHORS file).
autogenerated on Mon Oct 6 2014 07:52:06