ECF 1.5
Function.h
1#ifndef Function_h
2#define Function_h
3#include "Cartesian_c.h"
4using namespace std;
5
6namespace cart
7{
8 class Function
9 {
10 public:
11 Function() {}
12 Function(uint numArgs) {}
13 virtual ~Function() {}
14
18 virtual void evaluate(voidP inputs, void* result) = 0;
19
20 string getName()
21 {
22 return name_;
23 }
24
25 uint getNumOfArgs()
26 {
27 return numOfArgs_;
28 }
29
30 protected:
31 string name_;
32 uint numOfArgs_;
33 };
34
35 typedef boost::shared_ptr<Function> FunctionP;
36}
37
38
39#endif /* Function_h */
virtual void evaluate(voidP inputs, void *result)=0