• Main Page
  • Modules
  • Classes
  • Files
  • File List

D:/Projekt/ECF_trunk/ECF/tree/Add.h

00001 #ifndef Add_h
00002 #define Add_h
00003 #include "Primitive.h"
00004 
00005 namespace Tree {
00006 namespace Primitives {
00007 
00012 template <class T>
00013 class AddT : public Primitive
00014 {
00015 public:
00016     AddT();
00017     void execute(void* result, Tree& tree);
00018     ~AddT();
00019 };
00020 typedef AddT<double> Add;
00021 
00022 
00023 template <class T>
00024 AddT<T>::AddT()
00025 {
00026     nArguments_ = 2;
00027     name_ = "+";
00028     complementName_ = "-";
00029 }
00030 
00031 
00032 template <class T>
00033 AddT<T>::~AddT()
00034 {   }
00035 
00036 
00037 template <class T>
00038 void AddT<T>::execute(void* result, Tree& tree)
00039 {
00040     T first, second;
00041     T& sum = *(T*)result;
00042     getNextArgument(&first, tree);
00043     getNextArgument(&second, tree);
00044     sum = first + second;
00045 }
00046 
00047 }
00048 }
00049 
00050 #endif

Generated on Tue Nov 4 2014 13:04:30 for ECF by  doxygen 1.7.1