MEL
Microthread & Execution library
creatorImpl.h
1 
2 namespace mel
3 {
4  namespace mpl
5  {
10  #if VARIABLE_NUM_ARGS == VARIABLE_MAX_ARGS
11  template <class T, VARIABLE_ARGS>
12  class Creator
13  {
14  public:
15  T* operator()( VARIABLE_ARGS_IMPL )
16  {
17  return new T( VARIABLE_ARGS_USE );
18  };
19  };
20  //specialization for void arguments
21  template <class T>
22  class Creator<T,void>
23  {
24  public:
25  T* operator()( )
26  {
27  return new T( );
28  };
29  };
30 
31 
32 
33  #else
34  template <class T,VARIABLE_ARGS>
35  class Creator<T,VARIABLE_ARGS_DECL,void>
36  {
37  public:
38  T* operator()( VARIABLE_ARGS_IMPL )
39  {
40  return new T( VARIABLE_ARGS_USE );
41  };
42 
43  };
44 
45 
46  #endif
47  }
48 }
Definition: creatorImpl.h:13
Definition: Callback_Impl.h:11