OpenCog Framework  Branch: master, revision 6f0b7fc776b08468cf1b74aa9db028f387b4f0c0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ForwardChainerCallBack.h
Go to the documentation of this file.
1 /*
2  * ForwardChainerCallBack.h
3  *
4  * Copyright (C) 2014,2015 Misgana Bayetta
5  *
6  * Author: Misgana Bayetta <misgana.bayetta@gmail.com>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Affero General Public License v3 as
10  * published by the Free Software Foundation and including the exceptions
11  * at http://opencog.org/wiki/Licenses
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU Affero General Public License
19  * along with this program; if not, write to:
20  * Free Software Foundation, Inc.,
21  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22  */
23 
24 #ifndef FORWARDCHAINERCALLBACK_H_
25 #define FORWARDCHAINERCALLBACK_H_
26 
29 
30 namespace opencog {
31 
34 };
35 
36 class Rule;
37 class FCMemory;
39 {
40 private:
42 public:
44  as_(as)
45  {
46  }
48  {
49  }
57  virtual std::vector<Rule*> choose_rules(FCMemory& fcmem) = 0;
65  virtual HandleSeq choose_premises(FCMemory& fcmem) = 0;
70  virtual Handle choose_next_source(FCMemory& fcmem) = 0;
76  virtual HandleSeq apply_rule(FCMemory& fcmem) = 0;
77 };
78 
79 } // ~namespace opencog
80 
81 #endif /* FORWARDCHAINERCALLBACK_H_ */
virtual Handle choose_next_source(FCMemory &fcmem)=0
std::vector< Handle > HandleSeq
a list of handles
Definition: Handle.h:246
virtual std::vector< Rule * > choose_rules(FCMemory &fcmem)=0
virtual HandleSeq apply_rule(FCMemory &fcmem)=0
virtual HandleSeq choose_premises(FCMemory &fcmem)=0