#ifndef Terminal_h #define Terminal_h #include "Primitive.h" template class TerminalT : public Primitive { public: TerminalT(); T value_; void execute(void* result, Tree& tree); void setValue(void* value); ~TerminalT(void); }; // default type is double: typedef TerminalT Terminal; template TerminalT::TerminalT() { nArguments_ = 0; } template TerminalT::~TerminalT(void) { } template void TerminalT::setValue(void* value) { value_ = *(T*)value; } template void TerminalT::execute(void* result, Tree& tree) { T& res = *(T*)result; res = value_; } /*! Klasa Terminal jest izvedena subklasa bazne klase Primitive. Predstavlja implementaciju nezavisne varijable (npr. f(x)=x, x jest nezavisna varijabla). */ #endif