Inter4ql  5.2
ModuleInternal.h
1 #ifndef __MODULEINTERNAL_H__
2 #define __MODULEINTERNAL_H__
3 
4 #include <vector>
5 #include <string>
6 
7 #include "ModuleGeneric.h"
8 #include "Types.h"
9 #include "Fact.h"
10 
11 namespace Inter4ql {
12 
13  class Rule;
14  class Domain;
15  class Relation;
16  class VariableSpace;
17 
20  class ModuleInternal : public ModuleGeneric {
21  public:
27  explicit ModuleInternal(VariableSpace *_v);
31  Relation *get_relation(std::string s) const;
32  std::vector<Relation*> *get_relations() const;
33  virtual void generate_facts() {}
34  std::string get_name() const;
35  std::string print();
36  module_type::type get_module_type() const;
49  std::vector<Relation*> *relations;
51  std::string name;
52 
53  };
54 }
55 
56 #endif /* __MODULEINTERNAL\_H__ */
57 
std::string get_name() const
getter for a name of module
Definition: ModuleInternal.cc:39
VariableSpace * variable_space
getter for reasoning wrapper pointer
Definition: ModuleInternal.h:47
VariableSpace class for handling all values in interpreter environment.
Definition: VariableSpace.h:13
~ModuleInternal()
destructor
Definition: ModuleInternal.cc:17
Definition: Application.cc:37
Relation * get_relation(std::string s) const
getter for a relation
Definition: ModuleInternal.cc:28
std::vector< Relation * > * get_relations() const
getter for module relations
Definition: ModuleInternal.cc:35
Generic class of module (only virtual methods)
Definition: ModuleGeneric.h:21
std::vector< Relation * > * relations
list of relations inside external module
Definition: ModuleInternal.h:49
std::string name
name of external module
Definition: ModuleInternal.h:51
ModuleInternal(VariableSpace *_v)
constructor
Definition: ModuleInternal.cc:13
VariableSpace * get_variable_space() const
getter for sql variable space pointer
class that handles hardcoded relations in modules (f.e. math functions)
Definition: ModuleInternal.h:20
std::string print()
function that returns string with module information
Definition: ModuleInternal.cc:43
module_type::type get_module_type() const
getter for module type
Definition: ModuleInternal.cc:24
class that handles relation instance inside modules
Definition: Relation.h:13