Index: branches/new_class_id/src/lib/util/executor/executor_generic.h
===================================================================
--- branches/new_class_id/src/lib/util/executor/executor_generic.h	(revision 9748)
+++ branches/new_class_id/src/lib/util/executor/executor_generic.h	(revision 9769)
@@ -68,5 +68,5 @@
 ///////////
 //! @brief ExecutorClass, that can execute Functions without any parameters.
-template<class T, typename CallType, template<typename> class Evaluater = ExecutorEvaluater, class BaseClass = BaseObject>
+template<class T, typename CallType, class BaseClass = BaseObject, template<typename> class Evaluater = ExecutorEvaluater>
 class __EXECUTOR_FUNCTIONAL_NAME(0,) :public Executor<CallType, BaseClass>
 {
@@ -89,5 +89,5 @@
    * @param eval the CallType to get the Parameters from.
    */
-  virtual void operator()(BaseObject* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
+  virtual void operator()(BaseClass* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
   {
     (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)();
@@ -100,5 +100,5 @@
   virtual Executor<CallType, BaseClass>* clone() const
   {
-    return new __EXECUTOR_FUNCTIONAL_NAME(0,)<T, CallType>(this->functionPointer);
+    return new __EXECUTOR_FUNCTIONAL_NAME(0,)<T, CallType, BaseClass>(this->functionPointer);
   };
 };
@@ -110,5 +110,5 @@
 ///////////
 //! @brief ExecutorClass, that can execute Functions with one parameter.
-template<class T, typename CallType, typename type0, template<typename> class Evaluater = ExecutorEvaluater, class BaseClass = BaseObject>
+template<class T, typename CallType, typename type0, class BaseClass = BaseObject, template<typename> class Evaluater = ExecutorEvaluater>
 class __EXECUTOR_FUNCTIONAL_NAME(1,) : public Executor<CallType, BaseClass>
 {
@@ -131,5 +131,5 @@
    * @param eval the CallType to get the Parameters from.
    */
-  virtual void operator()(BaseObject* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
+  virtual void operator()(BaseClass* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
   {
     (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(
@@ -143,5 +143,5 @@
   virtual Executor<CallType, BaseClass>* clone() const
   {
-    return  new __EXECUTOR_FUNCTIONAL_NAME(1,)<T, CallType, type0>(this->functionPointer);
+    return  new __EXECUTOR_FUNCTIONAL_NAME(1,)<T, CallType, type0, BaseClass>(this->functionPointer);
   };
 };
@@ -153,5 +153,5 @@
 ///////////
 //! @brief ExecutorClass, that can execute Functions with two parameters.
-template<class T, typename CallType, typename type0, typename type1, template<typename> class Evaluater = ExecutorEvaluater, class BaseClass = BaseObject>
+template<class T, typename CallType, typename type0, typename type1, class BaseClass = BaseObject, template<typename> class Evaluater = ExecutorEvaluater>
 class __EXECUTOR_FUNCTIONAL_NAME(2,) : public Executor<CallType, BaseClass>
 {
@@ -174,5 +174,5 @@
    * @param eval the CallType to get the Parameters from.
    */
-  virtual void operator()(BaseObject* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
+  virtual void operator()(BaseClass* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
   {
     (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(
@@ -187,5 +187,5 @@
   virtual Executor<CallType, BaseClass>* clone() const
   {
-    return new __EXECUTOR_FUNCTIONAL_NAME(2,)<T, CallType, type0, type1>(this->functionPointer);
+    return new __EXECUTOR_FUNCTIONAL_NAME(2,)<T, CallType, type0, type1, BaseClass>(this->functionPointer);
   };
 };
@@ -197,5 +197,5 @@
 ///////////
 //! @brief ExecutorClass, that can execute Functions with three parameters.
-template<class T, typename CallType, typename type0, typename type1, typename type2, template<typename> class Evaluater = ExecutorEvaluater, class BaseClass = BaseObject>
+template<class T, typename CallType, typename type0, typename type1, typename type2, class BaseClass = BaseObject, template<typename> class Evaluater = ExecutorEvaluater>
 class __EXECUTOR_FUNCTIONAL_NAME(3,) : public Executor<CallType, BaseClass>
 {
@@ -218,5 +218,5 @@
    * @param eval the CallType to get the Parameters from.
    */
-  virtual void operator()(BaseObject* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
+  virtual void operator()(BaseClass* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
   {
     (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(
@@ -232,5 +232,5 @@
   virtual Executor<CallType, BaseClass>* clone() const
   {
-    return new __EXECUTOR_FUNCTIONAL_NAME(3,)<T, CallType, type0, type1, type2>(this->functionPointer);
+    return new __EXECUTOR_FUNCTIONAL_NAME(3,)<T, CallType, type0, type1, type2, BaseClass>(this->functionPointer);
   };
 };
@@ -242,5 +242,5 @@
 ///////////
 //! @brief ExecutorClass, that can execute Functions with four parameters.
-template<class T, typename CallType, typename type0, typename type1, typename type2, typename type3, template<typename> class Evaluater = ExecutorEvaluater, class BaseClass = BaseObject>
+template<class T, typename CallType, typename type0, typename type1, typename type2, typename type3, class BaseClass = BaseObject, template<typename> class Evaluater = ExecutorEvaluater>
 class __EXECUTOR_FUNCTIONAL_NAME(4,) : public Executor<CallType, BaseClass>
 {
@@ -263,5 +263,5 @@
   * @param eval the CallType to get the Parameters from.
    */
-  virtual void operator()(BaseObject* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
+  virtual void operator()(BaseClass* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
   {
     (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(
@@ -278,5 +278,5 @@
   virtual Executor<CallType, BaseClass>* clone() const
   {
-    return new __EXECUTOR_FUNCTIONAL_NAME(4,)<T, CallType, type0, type1, type2, type3>(this->functionPointer);
+    return new __EXECUTOR_FUNCTIONAL_NAME(4,)<T, CallType, type0, type1, type2, type3, BaseClass>(this->functionPointer);
   };
 };
@@ -288,5 +288,5 @@
 ///////////
 //! @brief ExecutorClass, that can execute Functions with five parameters.
-template<class T, typename CallType, typename type0, typename type1, typename type2, typename type3, typename type4, template<typename> class Evaluater = ExecutorEvaluater, class BaseClass = BaseObject>
+template<class T, typename CallType, typename type0, typename type1, typename type2, typename type3, typename type4, class BaseClass = BaseObject, template<typename> class Evaluater = ExecutorEvaluater>
 class __EXECUTOR_FUNCTIONAL_NAME(5,) : public Executor<CallType, BaseClass>
 {
@@ -309,5 +309,5 @@
   * @param eval the CallType to get the Parameters from.
    */
-  virtual void operator()(BaseObject* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
+  virtual void operator()(BaseClass* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
   {
     (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(
@@ -325,5 +325,5 @@
   virtual Executor<CallType, BaseClass>* clone() const
   {
-    return new __EXECUTOR_FUNCTIONAL_NAME(5,)<T, CallType, type0, type1, type2, type3, type4>(this->functionPointer);
+    return new __EXECUTOR_FUNCTIONAL_NAME(5,)<T, CallType, type0, type1, type2, type3, type4, BaseClass>(this->functionPointer);
   };
 };
@@ -334,5 +334,5 @@
 ////////////////////
 //! @brief ExecutorClass, that can execute Functions with one parameter.
-template<class T, typename CallType, typename ReturnType, template<typename> class Evaluater = ExecutorEvaluater, class BaseClass = BaseObject>
+template<class T, typename CallType, typename ReturnType, class BaseClass = BaseObject, template<typename> class Evaluater = ExecutorEvaluater>
 class __EXECUTOR_FUNCTIONAL_NAME(0,ret) : public Executor<CallType, BaseClass>
 {
@@ -355,5 +355,5 @@
      * @param eval the CallType to get the Parameters from.
    */
-  virtual void operator()(BaseObject* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
+  virtual void operator()(BaseClass* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
   {
     Evaluater<CallType>::template storeRet<ReturnType>(eval, (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)());
@@ -366,5 +366,5 @@
   virtual Executor<CallType, BaseClass>* clone() const
   {
-    return  new __EXECUTOR_FUNCTIONAL_NAME(0,ret)<T, CallType, ReturnType>(this->functionPointer);
+    return  new __EXECUTOR_FUNCTIONAL_NAME(0,ret)<T, CallType, ReturnType, BaseClass>(this->functionPointer);
   };
 };
@@ -374,5 +374,5 @@
 ////////////////////
 //! @brief ExecutorClass, that can execute Functions with one parameter.
-template<class T, typename CallType, typename ReturnType, typename type0, template<typename> class Evaluater = ExecutorEvaluater, class BaseClass = BaseObject>
+template<class T, typename CallType, typename ReturnType, typename type0, class BaseClass = BaseObject, template<typename> class Evaluater = ExecutorEvaluater>
 class __EXECUTOR_FUNCTIONAL_NAME(1,ret) : public Executor<CallType, BaseClass>
 {
@@ -395,5 +395,5 @@
      * @param eval the CallType to get the Parameters from.
    */
-  virtual void operator()(BaseObject* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
+  virtual void operator()(BaseClass* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
   {
     Evaluater<CallType>::template storeRet<ReturnType>(eval, (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(
@@ -407,5 +407,5 @@
   virtual Executor<CallType, BaseClass>* clone() const
   {
-    return  new __EXECUTOR_FUNCTIONAL_NAME(1,ret)<T, CallType, ReturnType, type0>(this->functionPointer);
+    return  new __EXECUTOR_FUNCTIONAL_NAME(1,ret)<T, CallType, ReturnType, type0, BaseClass>(this->functionPointer);
   };
 };
@@ -416,5 +416,5 @@
 ////////////////////
 //! @brief ExecutorClass, that can execute Functions with one parameter.
-template<class T, typename CallType, typename ReturnType, typename type0, typename type1, template<typename> class Evaluater = ExecutorEvaluater, class BaseClass = BaseObject>
+template<class T, typename CallType, typename ReturnType, typename type0, typename type1, class BaseClass = BaseObject, template<typename> class Evaluater = ExecutorEvaluater>
 class __EXECUTOR_FUNCTIONAL_NAME(2,ret) : public Executor<CallType, BaseClass>
 {
@@ -437,5 +437,5 @@
      * @param eval the CallType to get the Parameters from.
    */
-  virtual void operator()(BaseObject* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
+  virtual void operator()(BaseClass* object, CallType& eval = Evaluater<CallType>::defaultValue()) const
   {
     Evaluater<CallType>::template storeRet<ReturnType>(eval, (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(
@@ -450,5 +450,5 @@
   virtual Executor<CallType, BaseClass>* clone() const
   {
-    return  new __EXECUTOR_FUNCTIONAL_NAME(2,ret)<T, CallType, ReturnType, type0, type1>(this->functionPointer);
+    return  new __EXECUTOR_FUNCTIONAL_NAME(2,ret)<T, CallType, ReturnType, type0, type1, BaseClass>(this->functionPointer);
   };
 };
