Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/new_class_id/src/lib/util/executor/executor_member.h @ 9737

Last change on this file since 9737 was 9737, checked in by bensch, 18 years ago

split it up

File size: 1.6 KB
Line 
1/*!
2 * @file executor_member.h
3 * Definition of an Executor to Member Functions
4 */
5/*
6   orxonox - the future of 3D-vertical-scrollers
7
8   Copyright (C) 2004 orx
9
10   This program is free software; you can redistribute it and/or modify
11   it under the terms of the GNU General Public License as published by
12   the Free Software Foundation; either version 2, or (at your option)
13   any later version.
14
15### File Specific:
16   main-programmer: Benjamin Grauer
17   co-programmer: ...
18*/
19
20
21#ifndef __EXECUTOR_MEMBER_H_
22#define __EXECUTOR_MEMBER_H_
23
24/// Define all Constructs, that define an Executor.
25
26//! The Name to be attached to the functional (for normal, static, and const modes)
27#define __EXECUTOR_FUNCTIONAL_NAME(ParamCount)   Executor##ParamCount##Params
28
29//! if Functional is constant calling
30#define __EXECUTOR_FUNCTIONAL_CONST
31//! The Execution-mode (either static or objective)
32#define __EXECUTOR_FUNCTIONAL_FUNCTION_EXEC      dynamic_cast<T*>(object)->*(functionPointer)
33//! The Function-Pointer, and how to save it internally.
34#define __EXECUTOR_FUNCTIONAL_FUNCTION_POINTER   T::*functionPointer
35//! The Type of Function
36#define __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE       Executor<CallType, BaseClass>::FunctionDefault
37
38
39/// We want to include __EXECUTOR_GENERIC_H again, with current settings.
40#ifdef __EXECUTOR_GENERIC_H
41#undef __EXECUTOR_GENERIC_H
42#include "executor_generic.h"
43
44#undef __EXECUTOR_FUNCTIONAL_NAME
45
46#undef __EXECUTOR_FUNCTIONAL_CONST
47#undef __EXECUTOR_FUNCTIONAL_FUNCTION_EXEC
48#undef __EXECUTOR_FUNCTIONAL_FUNCTION_POINTER
49#undef __EXECUTOR_FUNCTIONAL_FUNCTIONTYPE
50
51#endif /* __EXECUTOR_MEMBER_H_ */
Note: See TracBrowser for help on using the repository browser.