Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/new_class_id/src/lib/util/executor/functor_member.h @ 9740

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

multiple generic inclusion of Executors, better and nicer interface for include

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