Index: branches/new_class_id/src/lib/util/executor/functor_generic.h
===================================================================
--- branches/new_class_id/src/lib/util/executor/functor_member.h	(revision 9739)
+++ branches/new_class_id/src/lib/util/executor/functor_generic.h	(revision 9740)
@@ -1,4 +1,4 @@
 /*!
- * @file executor_functional.h
+ * @file functor_generic.h
  * Definition of an Executor
  */
@@ -19,11 +19,4 @@
 */
 
-
-#ifndef __FUNCTOR_MEMBER_H_
-#define __FUNCTOR_MEMBER_H_
-
-#include "executor_member.h"
-#include "substring.h"
-
 // // // // // // // // // // // // //
 //// EXTENSION TO HIDE CONSTRUCT /////
@@ -31,46 +24,51 @@
 /**
  * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
+ * @param CallType the Type of Executor to generate
  */
-#define EXECUTOR_FUNCTIONAL_CREATOR0() \
-template<class T> Executor<const SubString>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)() __EXECUTOR_FUNCTIONAL_CONST) \
+#define EXECUTOR_FUNCTIONAL_CREATOR0(CallType) \
+template<class T> Executor<CallType>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)() __EXECUTOR_FUNCTIONAL_CONST) \
 { \
-  return new __EXECUTOR_FUNCTIONAL_NAME(0)<T, const SubString>(functionPointer); \
+  return new __EXECUTOR_FUNCTIONAL_NAME(0)<T, CallType>(functionPointer); \
 }
 
 /**
  * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
+ * @param CallType the Type of Executor to generate
  * @param type0 for internal usage: the first Argument
  */
-#define EXECUTOR_FUNCTIONAL_CREATOR1(type0) \
-template<class T> Executor<const SubString>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0) __EXECUTOR_FUNCTIONAL_CONST) \
+#define EXECUTOR_FUNCTIONAL_CREATOR1(CallType, type0) \
+template<class T> Executor<CallType>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0) __EXECUTOR_FUNCTIONAL_CONST) \
 { \
-  return new __EXECUTOR_FUNCTIONAL_NAME(1)<T, const SubString, type0>(functionPointer); \
+  return new __EXECUTOR_FUNCTIONAL_NAME(1)<T, CallType, type0>(functionPointer); \
 }
 
 /**
  * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
+ * @param CallType the Type of Executor to generate
  * @param type0 for internal usage: the first Argument
  * @param type1 for internal usage: the second Argument
  */
-#define EXECUTOR_FUNCTIONAL_CREATOR2(type0, type1) \
-template<class T> Executor<const SubString>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1) __EXECUTOR_FUNCTIONAL_CONST) \
+#define EXECUTOR_FUNCTIONAL_CREATOR2(CallType, type0, type1) \
+template<class T> Executor<CallType>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1) __EXECUTOR_FUNCTIONAL_CONST) \
 { \
-  return new __EXECUTOR_FUNCTIONAL_NAME(2)<T, const SubString, type0, type1>(functionPointer); \
+  return new __EXECUTOR_FUNCTIONAL_NAME(2)<T, CallType, type0, type1>(functionPointer); \
 }
 
 /**
  * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
+ * @param CallType the Type of Executor to generate
  * @param type0 for internal usage: the first Argument
  * @param type1 for internal usage: the second Argument
  * @param type2 for internal usage: the third Argument
  */
-#define EXECUTOR_FUNCTIONAL_CREATOR3(type0, type1, type2) \
-template<class T> Executor<const SubString>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1, type2) __EXECUTOR_FUNCTIONAL_CONST) \
+#define EXECUTOR_FUNCTIONAL_CREATOR3(CallType, type0, type1, type2) \
+template<class T> Executor<CallType>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1, type2) __EXECUTOR_FUNCTIONAL_CONST) \
 { \
-  return new __EXECUTOR_FUNCTIONAL_NAME(3)<T, const SubString, type0, type1, type2>(functionPointer); \
+  return new __EXECUTOR_FUNCTIONAL_NAME(3)<T, CallType, type0, type1, type2>(functionPointer); \
 }
 
 /**
  * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
+ * @param CallType the Type of Executor to generate
  * @param type0 for internal usage: the first Argument
  * @param type1 for internal usage: the second Argument
@@ -78,12 +76,13 @@
  * @param type3 for internal usage: the fourth Argument
  */
-#define EXECUTOR_FUNCTIONAL_CREATOR4(type0, type1, type2, type3) \
-template<class T> Executor<const SubString>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1, type2, type3) __EXECUTOR_FUNCTIONAL_CONST) \
+#define EXECUTOR_FUNCTIONAL_CREATOR4(CallType, type0, type1, type2, type3) \
+template<class T> Executor<CallType>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1, type2, type3) __EXECUTOR_FUNCTIONAL_CONST) \
 { \
-  return new __EXECUTOR_FUNCTIONAL_NAME(4)<T, const SubString, type0, type1, type2, type3>(functionPointer); \
+  return new __EXECUTOR_FUNCTIONAL_NAME(4)<T, CallType, type0, type1, type2, type3>(functionPointer); \
 }
 
 /**
  * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
+ * @param CallType the Type of Executor to generate
  * @param type0 for internal usage: the first Argument
  * @param type1 for internal usage: the second Argument
@@ -92,8 +91,8 @@
  * @param type4 for internal usage: the fifth Argument
  */
-#define EXECUTOR_FUNCTIONAL_CREATOR5(type0, type1, type2, type3, type4) \
-template<class T> Executor<const SubString>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1, type2, type3, type4) __EXECUTOR_FUNCTIONAL_CONST) \
+#define EXECUTOR_FUNCTIONAL_CREATOR5(CallType, type0, type1, type2, type3, type4) \
+template<class T> Executor<CallType>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)(type0, type1, type2, type3, type4) __EXECUTOR_FUNCTIONAL_CONST) \
 { \
-    return new __EXECUTOR_FUNCTIONAL_NAME(5)<T, const SubString, type0, type1, type2, type3, type4>(functionPointer); \
+    return new __EXECUTOR_FUNCTIONAL_NAME(5)<T, CallType, type0, type1, type2, type3, type4>(functionPointer); \
 }
 
@@ -105,4 +104,2 @@
 #undef FUNCTOR_LIST
 
-
-#undef __EXECUTOR_FUNCTIONAL_NOT_INCLUDE_THIS
