Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/network/src/cpptcl/details/metahelpers.h @ 1494

Last change on this file since 1494 was 1494, checked in by rgrieder, 16 years ago
  • set the svn:eol-style property to all files so, that where ever you check out, you'll get the right line endings (had to change every file with mixed endings to windows in order to set the property)
  • Property svn:eol-style set to native
File size: 2.6 KB
Line 
1//
2// Copyright (C) 2004-2006, Maciej Sobczak
3//
4// Permission to copy, use, modify, sell and distribute this software
5// is granted provided this copyright notice appears in all copies.
6// This software is provided "as is" without express or implied
7// warranty, and with no claim as to its suitability for any purpose.
8//
9
10// Note: this file is not supposed to be a stand-alone header
11
12
13template <class C, typename T1, typename T2, typename T3, typename T4,
14          typename T5, typename T6, typename T7, typename T8,
15          typename T9>
16struct get_callback_type_for_construct
17{
18     typedef callback9<C*, T1, T2, T3, T4, T5, T6, T7, T8, T9> type;
19};
20
21template <class C, typename T1, typename T2, typename T3, typename T4,
22          typename T5, typename T6, typename T7, typename T8>
23struct get_callback_type_for_construct<
24     C, T1, T2, T3, T4, T5, T6, T7, T8, void>
25{
26     typedef callback8<C*, T1, T2, T3, T4, T5, T6, T7, T8> type;
27};
28
29template <class C, typename T1, typename T2, typename T3, typename T4,
30          typename T5, typename T6, typename T7>
31struct get_callback_type_for_construct<
32     C, T1, T2, T3, T4, T5, T6, T7, void, void>
33{
34     typedef callback7<C*, T1, T2, T3, T4, T5, T6, T7> type;
35};
36
37template <class C, typename T1, typename T2, typename T3, typename T4,
38          typename T5, typename T6>
39struct get_callback_type_for_construct<
40     C, T1, T2, T3, T4, T5, T6, void, void, void>
41{
42     typedef callback6<C*, T1, T2, T3, T4, T5, T6> type;
43};
44
45template <class C, typename T1, typename T2, typename T3, typename T4,
46          typename T5>
47struct get_callback_type_for_construct<
48     C, T1, T2, T3, T4, T5, void, void, void, void>
49{
50     typedef callback5<C*, T1, T2, T3, T4, T5> type;
51};
52
53template <class C, typename T1, typename T2, typename T3, typename T4>
54struct get_callback_type_for_construct<
55     C, T1, T2, T3, T4, void, void, void, void, void>
56{
57     typedef callback4<C*, T1, T2, T3, T4> type;
58};
59
60template <class C, typename T1, typename T2, typename T3>
61struct get_callback_type_for_construct<
62     C, T1, T2, T3, void, void, void, void, void, void>
63{
64     typedef callback3<C*, T1, T2, T3> type;
65};
66
67template <class C, typename T1, typename T2>
68struct get_callback_type_for_construct<
69     C, T1, T2, void, void, void, void, void, void, void>
70{
71     typedef callback2<C*, T1, T2> type;
72};
73
74template <class C, typename T1>
75struct get_callback_type_for_construct<
76     C, T1, void, void, void, void, void, void, void, void>
77{
78     typedef callback1<C*, T1> type;
79};
80
81template <class C>
82struct get_callback_type_for_construct<
83     C, void, void, void, void, void, void, void, void, void>
84{
85     typedef callback0<C*> type;
86};
Note: See TracBrowser for help on using the repository browser.