Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/branches/levelLoader/src/util/loading/load_param.h @ 4233

Last change on this file since 4233 was 4233, checked in by bensch, 19 years ago

orxonox/branches/levelLoader: loading through Functors.
This should make our lives much more simple, if they are implemented real good.
This will take some time, and i would like you to comment on this.

File size: 731 bytes
Line 
1
2#ifndef _LOAD_PARAM_H
3#define _LOAD_PARAM_H
4
5
6// abstract base class
7class baseLoadParam
8{
9 public:
10  //  virtual void Call(const char* string)=0;        // call using function
11};
12
13
14// derived template class
15template<class T> class LoadParam : public baseLoadParam
16{
17 private:
18  T* pt2Object;                  // pointer to object
19
20 public:
21  LoadParam(const char* loadString, T* pt2Object, void(T::*function)(const char*))
22    { 
23      this->pt2Object = pt2Object;
24
25      (*pt2Object.*function)(loadString);
26    };
27
28  LoadParam(const char* loadString, T* pt2Object, void(T::*function)(float))
29    { 
30      this->pt2Object = pt2Object;
31     
32      (*pt2Object.*function)(atoi(loadString));
33    };
34};
35
36
37#endif /* _LOAD_PARAM_H */
Note: See TracBrowser for help on using the repository browser.