Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. #ifndef SIGCXX_GENERATOR_H
  2. #define SIGCXX_GENERATOR_H
  3. #include <sigc++config.h>
  4. #include <new>
  5.  
  6. #ifdef SIGC_CXX_NAMESPACES
  7. namespace SigC
  8. {
  9. #endif
  10.  
  11.  
  12. // 0
  13. template <class T>
  14.   T* gen()
  15.   {return manage(new T());}
  16.  
  17. // 1
  18. template <class T,class P1>
  19.   T* gen(const P1& p1)
  20.   {return manage(new T(p1));}
  21.  
  22. template <class T,class P1>
  23.   T* gen(P1& p1)
  24.   {return manage(new T(p1));}
  25.  
  26. // 2
  27. template <class T,class P1,class P2>
  28.   T* gen(const P1& p1,const P2& p2)
  29.   {return manage(new T(p1,p2));}
  30.  
  31. template <class T,class P1,class P2>
  32.   T* gen(P1& p1,const P2& p2)
  33.   {return manage(new T(p1,p2));}
  34.  
  35. template <class T,class P1,class P2>
  36.   T* gen(const P1& p1,P2& p2)
  37.   {return manage(new T(p1,p2));}
  38.  
  39. template <class T,class P1,class P2>
  40.   T* gen(P1& p1,P2& p2)
  41.   {return manage(new T(p1,p2));}
  42.  
  43. // 3
  44. template <class T,class P1,class P2,class P3>
  45.   T* gen(const P1& p1,const P2& p2,const P3& p3)
  46.   {return manage(new T(p1,p2,p3));}
  47.  
  48. template <class T,class P1,class P2,class P3>
  49.   T* gen(P1& p1,const P2& p2,const P3& p3)
  50.   {return manage(new T(p1,p2,p3));}
  51.  
  52. template <class T,class P1,class P2,class P3>
  53.   T* gen(const P1& p1,P2& p2,const P3& p3)
  54.   {return manage(new T(p1,p2,p3));}
  55.  
  56. template <class T,class P1,class P2,class P3>
  57.   T* gen(const P1& p1,const P2& p2,P3& p3)
  58.   {return manage(new T(p1,p2,p3));}
  59.  
  60. template <class T,class P1,class P2,class P3>
  61.   T* gen(const P1& p1,P2& p2,P3& p3)
  62.   {return manage(new T(p1,p2,p3));}
  63.  
  64. template <class T,class P1,class P2,class P3>
  65.   T* gen(P1& p1,const P2& p2,P3& p3)
  66.   {return manage(new T(p1,p2,p3));}
  67.  
  68. template <class T,class P1,class P2,class P3>
  69.   T* gen(P1& p1,P2& p2,const P3& p3)
  70.   {return manage(new T(p1,p2,p3));}
  71.  
  72. template <class T,class P1,class P2,class P3>
  73.   T* gen(P1& p1,P2& p2,P3& p3)
  74.   {return manage(new T(p1,p2,p3));}
  75.  
  76. // 4
  77. template <class T,class P1,class P2,class P3,class P4>
  78.   T* gen(const P1& p1,const P2& p2,const P3& p3,const P4& p4)
  79.   {return manage(new T(p1,p2,p3,p4));}
  80.  
  81. template <class T,class P1,class P2,class P3,class P4>
  82.   T* gen(P1& p1,const P2& p2,const P3& p3,const P4& p4)
  83.   {return manage(new T(p1,p2,p3,p4));}
  84.  
  85. template <class T,class P1,class P2,class P3,class P4>
  86.   T* gen(const P1& p1,P2& p2,const P3& p3,const P4& p4)
  87.   {return manage(new T(p1,p2,p3,p4));}
  88.  
  89. template <class T,class P1,class P2,class P3,class P4>
  90.   T* gen(const P1& p1,const P2& p2,P3& p3,const P4& p4)
  91.   {return manage(new T(p1,p2,p3,p4));}
  92.  
  93. template <class T,class P1,class P2,class P3,class P4>
  94.   T* gen(const P1& p1,const P2& p2,const P3& p3,P4& p4)
  95.   {return manage(new T(p1,p2,p3,p4));}
  96.  
  97. template <class T,class P1,class P2,class P3,class P4>
  98.   T* gen(const P1& p1,P2& p2,P3& p3,P4& p4)
  99.   {return manage(new T(p1,p2,p3,p4));}
  100.  
  101. template <class T,class P1,class P2,class P3,class P4>
  102.   T* gen(P1& p1,const P2& p2,P3& p3,P4& p4)
  103.   {return manage(new T(p1,p2,p3,p4));}
  104.  
  105. template <class T,class P1,class P2,class P3,class P4>
  106.   T* gen(P1& p1,P2& p2,const P3& p3,P4& p4)
  107.   {return manage(new T(p1,p2,p3,p4));}
  108.  
  109. template <class T,class P1,class P2,class P3,class P4>
  110.   T* gen(P1& p1,P2& p2,P3& p3,const P4& p4)
  111.   {return manage(new T(p1,p2,p3,p4));}
  112.  
  113. template <class T,class P1,class P2,class P3,class P4>
  114.   T* gen(const P1& p1,const P2& p2,P3& p3,P4& p4)
  115.   {return manage(new T(p1,p2,p3,p4));}
  116.  
  117. template <class T,class P1,class P2,class P3,class P4>
  118.   T* gen(const P1& p1,P2& p2,const P3& p3,P4& p4)
  119.   {return manage(new T(p1,p2,p3,p4));}
  120.  
  121. template <class T,class P1,class P2,class P3,class P4>
  122.   T* gen(const P1& p1,P2& p2,P3& p3,const P4& p4)
  123.   {return manage(new T(p1,p2,p3,p4));}
  124.  
  125. template <class T,class P1,class P2,class P3,class P4>
  126.   T* gen(P1& p1,const P2& p2,const P3& p3,P4& p4)
  127.   {return manage(new T(p1,p2,p3,p4));}
  128.  
  129. template <class T,class P1,class P2,class P3,class P4>
  130.   T* gen(P1& p1,const P2& p2,P3& p3,const P4& p4)
  131.   {return manage(new T(p1,p2,p3,p4));}
  132.  
  133. template <class T,class P1,class P2,class P3,class P4>
  134.   T* gen(P1& p1,P2& p2,const P3& p3,const P4& p4)
  135.   {return manage(new T(p1,p2,p3,p4));}
  136.  
  137. template <class T,class P1,class P2,class P3,class P4>
  138.   T* gen(P1& p1,P2& p2,P3& p3,P4& p4)
  139.   {return manage(new T(p1,p2,p3,p4));}
  140.  
  141. //From here one we will just generate warnings
  142. template <class T,class P1,class P2,class P3,class P4,class P5>
  143.   T* gen(P1& p1,P2& p2,P3& p3,P4& p4,P5& p5)
  144.   {return manage(new T(p1,p2,p3,p4,p5));}
  145.  
  146. template <class T,class P1,class P2,class P3,class P4,class P5,class P6>
  147.   T* gen(P1& p1,P2& p2,P3& p3,P4& p4,P5& p5,P6& p6)
  148.   {return manage(new T(p1,p2,p3,p4,p5,p6));}
  149.  
  150. template <class T,class P1,class P2,class P3,class P4,class P5,class P6,class P7>
  151.   T* gen(P1& p1,P2& p2,P3& p3,P4& p4,P5& p5,P6& p6,P7& p7)
  152.   {return manage(new T(p1,p2,p3,p4,p5,p6,p7));}
  153.  
  154. #ifdef SIGC_CXX_NAMESPACES
  155. } // namespace sigc
  156. #endif
  157.  
  158. #endif
  159.  
  160.