StkOp.h
00001 #ifndef gridripper_math_expr_StkOp_h
00002 #define gridripper_math_expr_StkOp_h
00003
00004 #include <gridripper/config.h>
00005 #include <string>
00006
00007 namespace gridripper { namespace math { namespace expr {
00008
00009 using namespace std;
00010
00019 class StkOp
00020 {
00021 public:
00022 virtual ~StkOp() { }
00023
00025 virtual const string& getOpName() const =0;
00026
00028 virtual int getArgCount() const =0;
00029
00034 virtual int getStackIncrement() const =0;
00035
00040 virtual bool dependsOn(const StkOp& f) const =0;
00041
00046 virtual void evalStack(GReal_t* &p) const =0;
00047
00052 virtual bool equalsOp(const StkOp& other) const =0;
00053
00055 virtual string getClassName() const =0;
00056 };
00057
00058 } } }
00059
00060 #endif