Index: branches/new_class_id/src/lib/util/executor/executor_generic.h
===================================================================
--- branches/new_class_id/src/lib/util/executor/executor_functional.h	(revision 9736)
+++ branches/new_class_id/src/lib/util/executor/executor_generic.h	(revision 9737)
@@ -1,5 +1,5 @@
 /*!
- * @file executor_functional.h
- * Definition of an Executor
+ * @file executor_generic.h
+ * Definition of a Generic Executor
  */
 
@@ -20,6 +20,6 @@
 
 
-#ifndef __EXECUTOR_FUNCTIONAL_H_
-#define __EXECUTOR_FUNCTIONAL_H_
+#ifndef __EXECUTOR_GENERIC_H_
+#define __EXECUTOR_GENERIC_H_
 
 #include "executor.h"
@@ -106,66 +106,4 @@
 
 
-
-
-#endif /* __EXECUTOR_FUNCTIONAL_H_ */
-
-//! if Functional is constant calling
-#define __EXECUTOR_FUNCTIONAL_CONST
-//! The Name to be attached to the functional (for normal, static, and const modes)
-#define __EXECUTOR_FUNCTIONAL_NAME(ParamCount)   Executor##ParamCount##Params
-//! The Execution-mode (either static or objective)
-#define __EXECUTOR_FUNCTIONAL_FUNCTION_EXEC      dynamic_cast<T*>(object)->*(functionPointer)
-//! The Function-Pointer, and how to save it internally.
-#define __EXECUTOR_FUNCTIONAL_FUNCTION_POINTER   T::*functionPointer
-#define __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE       Executor<CallType, BaseClass>::FunctionDefault
-
-#ifdef EXECUTOR_FUNCTIONAL_USE_CONST            //! USING CONST FUNCTIONALS
- #ifdef __EXECUTOR_FUNCTIONAL_CONST_INCLUDED    //!< CHECK IF ALREADY INCLUED CONST FUNCTIONALS
-  #define __EXECUTOR_FUNCTIONAL_NOT_INCLUDE_THIS
- #else
-  #define __EXECUTOR_FUNCTIONAL_CONST_INCLUDED
- #endif
- #undef __EXECUTOR_FUNCTIONAL_CONST
- #define __EXECUTOR_FUNCTIONAL_CONST const
- #undef __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE
- #define __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE       Executor<CallType, BaseClass>::FunctionConst
- #undef __EXECUTOR_FUNCTIONAL_NAME
- #define __EXECUTOR_FUNCTIONAL_NAME(ParamCount) Executor##ParamCount##Params_const
-//#endif /* EXECUTOR_FUNCTIONAL_USE_CONST */
-
-#elif defined EXECUTOR_FUNCTIONAL_USE_STATIC
- #ifdef EXECUTOR_FUNCTIONAL_USE_CONST
-  #error you obviously do not know what you are doing !! ask the bensch
- #endif
-
-#ifdef __EXECUTOR_FUNCTIONAL_STATIC_INCLUDED
-   #define __EXECUTOR_FUNCTIONAL_NOT_INCLUDE_THIS
-  #else
-   #define __EXECUTOR_FUNCTIONAL_STATIC_INCLUDED
-  #endif
-
-#undef __EXECUTOR_FUNCTIONAL_FUNCTION_EXEC
- #define __EXECUTOR_FUNCTIONAL_FUNCTION_EXEC       functionPointer
- #undef __EXECUTOR_FUNCTIONAL_NAME
- #define __EXECUTOR_FUNCTIONAL_NAME(ParamCount)    Executor##ParamCount##Params_static
- #undef __EXECUTOR_FUNCTIONAL_FUNCTION_POINTER
- #define __EXECUTOR_FUNCTIONAL_FUNCTION_POINTER    *functionPointer
- #undef __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE
- #define __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE       Executor<CallType, BaseClass>::FunctionStatic
-
-//#endif /* EXECUTOR_FUNCTIONAL_USE_STATIC */
-#else
- #ifdef __EXECUTOR_FUNCTIONAL_PLAIN_INCLUDED
-  #define __EXECUTOR_FUNCTIONAL_NOT_INCLUDE_THIS
- #else
-  #define __EXECUTOR_FUNCTIONAL_PLAIN_INCLUDED
- #endif
-#endif
-
-#ifndef __EXECUTOR_FUNCTIONAL_NOT_INCLUDE_THIS
-
-
-
-
 ///////////
 //// 0 ////
@@ -456,108 +394,3 @@
 };
 
-
-
-
-
-
-
-
-
-// // // // // // // // // // // // //
-//// EXTENSION TO HIDE CONSTRUCT /////
-// // // // // // // // // // // // //
-/**
- * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
- */
-#define EXECUTOR_FUNCTIONAL_CREATOR0() \
-template<class T> Executor<const SubString>* createExecutor(void (__EXECUTOR_FUNCTIONAL_FUNCTION_POINTER)() __EXECUTOR_FUNCTIONAL_CONST) \
-{ \
-  return new __EXECUTOR_FUNCTIONAL_NAME(0)<T, const SubString>(functionPointer); \
-}
-
-/**
- * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
- * @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) \
-{ \
-  return new __EXECUTOR_FUNCTIONAL_NAME(1)<T, const SubString, type0>(functionPointer); \
-}
-
-/**
- * @brief enables us to easily retrieve an Executor of Class T with modular Argument-count, (without thinking about args at all)
- * @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) \
-{ \
-  return new __EXECUTOR_FUNCTIONAL_NAME(2)<T, const SubString, 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 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) \
-{ \
-  return new __EXECUTOR_FUNCTIONAL_NAME(3)<T, const SubString, 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 type0 for internal usage: the first Argument
- * @param type1 for internal usage: the second Argument
- * @param type2 for internal usage: the third Argument
- * @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) \
-{ \
-  return new __EXECUTOR_FUNCTIONAL_NAME(4)<T, const SubString, 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 type0 for internal usage: the first Argument
- * @param type1 for internal usage: the second Argument
- * @param type2 for internal usage: the third Argument
- * @param type3 for internal usage: the fourth Argument
- * @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) \
-{ \
-    return new __EXECUTOR_FUNCTIONAL_NAME(5)<T, const SubString, type0, type1, type2, type3, type4>(functionPointer); \
-}
-
-
-/**
- * Creates the FunctionCallers
- */
-#define FUNCTOR_LIST(x) EXECUTOR_FUNCTIONAL_CREATOR ## x
-#include "functor_list.h"
-#undef FUNCTOR_LIST
-
-
-
-#undef __EXECUTOR_FUNCTIONAL_CONST
-#undef __EXECUTOR_FUNCTIONAL_NAME
-#undef __EXECUTOR_FUNCTIONAL_FUNCTION_EXEC
-#undef __EXECUTOR_FUNCTIONAL_FUNCTION_POINTER
-#undef __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE
-
-#ifdef EXECUTOR_FUNCTIONAL_USE_CONST
- #undef EXECUTOR_FUNCTIONAL_USE_CONST
-#endif
-#ifdef EXECUTOR_FUNCTIONAL_USE_STATIC
- #undef EXECUTOR_FUNCTIONAL_USE_STATIC
-#endif
-
-
-#endif /* __EXECUTOR_FUNCTIONAL_NOT_INCLUDE_THIS */
-#undef __EXECUTOR_FUNCTIONAL_NOT_INCLUDE_THIS
+#ifndef __EXECUTOR_GENERIC_H_
