XCSF  1.4.7
XCSF learning classifier system
pybind_callback.h
Go to the documentation of this file.
1 /*
2  * This program is free software: you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation, either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program. If not, see <http://www.gnu.org/licenses/>.
14  */
15 
24 #pragma once
25 
26 #include <limits>
27 #include <pybind11/numpy.h>
28 #include <pybind11/pybind11.h>
29 
30 namespace py = pybind11;
31 
32 extern "C" {
33 #include "xcsf.h"
34 }
35 
39 class Callback
40 {
41  public:
42  virtual ~Callback() {}
43 
44  virtual bool
45  run(struct XCSF *xcsf, py::dict metrics) = 0;
46 
47  virtual void
48  finish(struct XCSF *xcsf) = 0;
49 };
Interface for Callbacks.
virtual void finish(struct XCSF *xcsf)=0
virtual ~Callback()
virtual bool run(struct XCSF *xcsf, py::dict metrics)=0
Definition: __init__.py:1
XCSF data structure.
Definition: xcsf.h:85
XCSF data structures.