1 #ifndef __MODULEGENERIC_H__ 2 #define __MODULEGENERIC_H__ 4 #include "Constraints.h" 26 database_to_add =
new database();
27 database_to_remove =
new database();
99 virtual void set_modules(std::vector<ModuleGeneric *> *_modules) {}
109 virtual std::vector<Domain*> *
get_domains()
const {
return nullptr; };
165 Inter4ql::database* database_to_add;
166 Inter4ql::database* database_to_remove;
virtual std::string get_name() const
getter for a name of module
Definition: ModuleGeneric.h:46
virtual Result evaluate_expression(Expression *expr) const
provides valuations matching given Expression
Definition: ModuleGeneric.cc:20
virtual std::vector< Relation * > * get_relations() const
getter for module relations
Definition: ModuleGeneric.h:56
virtual void set_add_database(database *db)
overrides a database of facts which were added by actions to this module
Definition: ModuleGeneric.h:151
virtual void reason_with_rules(std::vector< Rule *> *rules)
performs reasing with additional Rules added
Definition: ModuleGeneric.h:70
ModuleGeneric()
default constructor
Definition: ModuleGeneric.h:25
virtual void set_modules(std::vector< ModuleGeneric *> *_modules)
setter for modules needed in this module
Definition: ModuleGeneric.h:99
class that implements a fact
Definition: Fact.h:14
virtual module_type::type get_module_type() const
getter for module type
Definition: ModuleGeneric.h:61
virtual database * get_remove_database()
fetches a database of facts which were removed by actions from this module
Definition: ModuleGeneric.h:146
Definition: Expression.h:10
virtual Result evaluate_expression_bf(Expression *expr) const
provides bel-free valuations matching given Expression
Definition: ModuleGeneric.cc:15
virtual bool contains_domain(Domain *d) const
check if module contains domain
Definition: ModuleGeneric.cc:111
virtual ~ModuleGeneric()
default destructor
Definition: ModuleGeneric.h:31
Definition: Application.cc:37
virtual Constraints * get_constraints() const
getter for constraints
Definition: ModuleGeneric.h:104
Domain class - class that points to a data type.
Definition: Domain.h:12
Generic class of module (only virtual methods)
Definition: ModuleGeneric.h:21
virtual void set_remove_database(database *db)
overrides a database of facts which were removed by actions from this module
Definition: ModuleGeneric.h:156
virtual Relation * get_relation(std::string s) const
getter for a relation
Definition: ModuleGeneric.h:41
virtual std::string print()
function that returns string with module information
Definition: ModuleGeneric.h:51
virtual bool contains_relation(Relation *d) const
check if module contains relation (ignoring module name)
Definition: ModuleGeneric.cc:123
virtual database * get_wsm_database()
fetches a database of facts from well-supported model (for summing purposes)
Definition: ModuleGeneric.h:136
virtual std::vector< std::string > get_references(Fact *term)
provides a list of Module references is term (useful when e.g. term is a shadowed Bel) ...
Definition: ModuleGeneric.cc:107
Output class handles standard output of interpreter.
Definition: Constraints.h:68
virtual std::vector< Domain * > * get_domains() const
getter for domains
Definition: ModuleGeneric.h:109
virtual bool check_constraints_local(bool check_rigid, bool check_flexible) const
evaluates constraints locally, in current module
Definition: ModuleGeneric.h:131
virtual database * get_add_database()
fetches a database of facts which were added by actions to this module
Definition: ModuleGeneric.h:141
virtual void set_disable_constraints(bool value) const
allows for disabling constraints check
Definition: ModuleGeneric.h:124
virtual void reason()=0
performs reasoning
virtual bool constraints_violated()
checks whether constraints are violated
Definition: ModuleGeneric.h:161
virtual Result ask_for_result(Fact *term) const =0
provides valuations matching given Fact
class that handles relation instance inside modules
Definition: Relation.h:13