Import a stripped down version of gcc-4.1.1
[dragonfly.git] / contrib / gcc-4.1 / libstdc++-v3 / include / tr1 / bind_repeat.h
1 // TR1 code repetition for bind -*- C++ -*-
2
3 // Copyright (C) 2005 Free Software Foundation, Inc.
4 // Written by Douglas Gregor <doug.gregor -at- gmail.com>
5 //
6 // This file is part of the GNU ISO C++ Library.  This library is free
7 // software; you can redistribute it and/or modify it under the
8 // terms of the GNU General Public License as published by the
9 // Free Software Foundation; either version 2, or (at your option)
10 // any later version.
11
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 // GNU General Public License for more details.
16
17 // You should have received a copy of the GNU General Public License along
18 // with this library; see the file COPYING.  If not, write to the Free
19 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
20 // USA.
21
22 // As a special exception, you may use this file as part of a free software
23 // library without restriction.  Specifically, if other files instantiate
24 // templates or use macros or inline functions from this file, or you compile
25 // this file and link it with other files to produce an executable, this
26 // file does not by itself cause the resulting executable to be covered by
27 // the GNU General Public License.  This exception does not however
28 // invalidate any other reasons why the executable file might be covered by
29 // the GNU General Public License.
30
31 /** @file bind_repeat.h
32  *  This is an internal header file, included by other library headers.
33  *  You should not attempt to use it directly.
34  */
35
36 #ifndef _GLIBCXX_BIND_REPEAT_HEADER
37 #  error Internal error: _GLIBCXX_BIND_REPEAT_HEADER must be set
38 #endif /* _GLIBCXX_BIND_REPEAT_HEADER */
39
40 #define _GLIBCXX_BIND_NUM_ARGS 0
41 #define _GLIBCXX_BIND_COMMA
42 #define _GLIBCXX_BIND_TEMPLATE_PARAMS
43 #define _GLIBCXX_BIND_TEMPLATE_ARGS
44 #define _GLIBCXX_BIND_PARAMS
45 #define _GLIBCXX_BIND_ARGS
46 #  include _GLIBCXX_BIND_REPEAT_HEADER
47 #undef _GLIBCXX_BIND_ARGS
48 #undef _GLIBCXX_BIND_PARAMS
49 #undef _GLIBCXX_BIND_TEMPLATE_ARGS
50 #undef _GLIBCXX_BIND_TEMPLATE_PARAMS
51 #undef _GLIBCXX_BIND_COMMA
52 #undef _GLIBCXX_BIND_NUM_ARGS
53
54 #define _GLIBCXX_BIND_NUM_ARGS 1
55 #define _GLIBCXX_BIND_COMMA ,
56 #define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1
57 #define _GLIBCXX_BIND_TEMPLATE_ARGS _U1
58 #define _GLIBCXX_BIND_PARAMS _U1& __u1
59 #define _GLIBCXX_BIND_ARGS __u1
60 #include _GLIBCXX_BIND_REPEAT_HEADER
61 #undef _GLIBCXX_BIND_ARGS
62 #undef _GLIBCXX_BIND_PARAMS
63 #undef _GLIBCXX_BIND_TEMPLATE_ARGS
64 #undef _GLIBCXX_BIND_TEMPLATE_PARAMS
65 #undef _GLIBCXX_BIND_COMMA
66 #undef _GLIBCXX_BIND_NUM_ARGS
67 #define _GLIBCXX_BIND_NUM_ARGS 2
68 #define _GLIBCXX_BIND_COMMA ,
69 #define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2
70 #define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2
71 #define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2
72 #define _GLIBCXX_BIND_ARGS __u1, __u2
73 #include _GLIBCXX_BIND_REPEAT_HEADER
74 #undef _GLIBCXX_BIND_ARGS
75 #undef _GLIBCXX_BIND_PARAMS
76 #undef _GLIBCXX_BIND_TEMPLATE_ARGS
77 #undef _GLIBCXX_BIND_TEMPLATE_PARAMS
78 #undef _GLIBCXX_BIND_COMMA
79 #undef _GLIBCXX_BIND_NUM_ARGS
80
81 #define _GLIBCXX_BIND_NUM_ARGS 3
82 #define _GLIBCXX_BIND_COMMA ,
83 #define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3
84 #define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3
85 #define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3
86 #define _GLIBCXX_BIND_ARGS __u1, __u2, __u3
87 #include _GLIBCXX_BIND_REPEAT_HEADER
88 #undef _GLIBCXX_BIND_ARGS
89 #undef _GLIBCXX_BIND_PARAMS
90 #undef _GLIBCXX_BIND_TEMPLATE_ARGS
91 #undef _GLIBCXX_BIND_TEMPLATE_PARAMS
92 #undef _GLIBCXX_BIND_COMMA
93 #undef _GLIBCXX_BIND_NUM_ARGS
94
95 #define _GLIBCXX_BIND_NUM_ARGS 4
96 #define _GLIBCXX_BIND_COMMA ,
97 #define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4
98 #define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4
99 #define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4
100 #define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4
101 #include _GLIBCXX_BIND_REPEAT_HEADER
102 #undef _GLIBCXX_BIND_ARGS
103 #undef _GLIBCXX_BIND_PARAMS
104 #undef _GLIBCXX_BIND_TEMPLATE_ARGS
105 #undef _GLIBCXX_BIND_TEMPLATE_PARAMS
106 #undef _GLIBCXX_BIND_COMMA
107 #undef _GLIBCXX_BIND_NUM_ARGS
108
109 #define _GLIBCXX_BIND_NUM_ARGS 5
110 #define _GLIBCXX_BIND_COMMA ,
111 #define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4, typename _U5
112 #define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4, _U5
113 #define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4, _U5& __u5
114 #define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4, __u5
115 #include _GLIBCXX_BIND_REPEAT_HEADER
116 #undef _GLIBCXX_BIND_ARGS
117 #undef _GLIBCXX_BIND_PARAMS
118 #undef _GLIBCXX_BIND_TEMPLATE_ARGS
119 #undef _GLIBCXX_BIND_TEMPLATE_PARAMS
120 #undef _GLIBCXX_BIND_COMMA
121 #undef _GLIBCXX_BIND_NUM_ARGS
122
123 #define _GLIBCXX_BIND_NUM_ARGS 6
124 #define _GLIBCXX_BIND_COMMA ,
125 #define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6
126 #define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4, _U5, _U6
127 #define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4, _U5& __u5, _U6& __u6
128 #define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4, __u5, __u6
129 #include _GLIBCXX_BIND_REPEAT_HEADER
130 #undef _GLIBCXX_BIND_ARGS
131 #undef _GLIBCXX_BIND_PARAMS
132 #undef _GLIBCXX_BIND_TEMPLATE_ARGS
133 #undef _GLIBCXX_BIND_TEMPLATE_PARAMS
134 #undef _GLIBCXX_BIND_COMMA
135 #undef _GLIBCXX_BIND_NUM_ARGS
136
137 #define _GLIBCXX_BIND_NUM_ARGS 7
138 #define _GLIBCXX_BIND_COMMA ,
139 #define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7
140 #define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4, _U5, _U6, _U7
141 #define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4, _U5& __u5, _U6& __u6, _U7& __u7
142 #define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4, __u5, __u6, __u7
143 #include _GLIBCXX_BIND_REPEAT_HEADER
144 #undef _GLIBCXX_BIND_ARGS
145 #undef _GLIBCXX_BIND_PARAMS
146 #undef _GLIBCXX_BIND_TEMPLATE_ARGS
147 #undef _GLIBCXX_BIND_TEMPLATE_PARAMS
148 #undef _GLIBCXX_BIND_COMMA
149 #undef _GLIBCXX_BIND_NUM_ARGS
150
151 #define _GLIBCXX_BIND_NUM_ARGS 8
152 #define _GLIBCXX_BIND_COMMA ,
153 #define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8
154 #define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8
155 #define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4, _U5& __u5, _U6& __u6, _U7& __u7, _U8& __u8
156 #define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4, __u5, __u6, __u7, __u8
157 #include _GLIBCXX_BIND_REPEAT_HEADER
158 #undef _GLIBCXX_BIND_ARGS
159 #undef _GLIBCXX_BIND_PARAMS
160 #undef _GLIBCXX_BIND_TEMPLATE_ARGS
161 #undef _GLIBCXX_BIND_TEMPLATE_PARAMS
162 #undef _GLIBCXX_BIND_COMMA
163 #undef _GLIBCXX_BIND_NUM_ARGS
164
165 #define _GLIBCXX_BIND_NUM_ARGS 9
166 #define _GLIBCXX_BIND_COMMA ,
167 #define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8, typename _U9
168 #define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8, _U9
169 #define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4, _U5& __u5, _U6& __u6, _U7& __u7, _U8& __u8, _U9& __u9
170 #define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4, __u5, __u6, __u7, __u8, __u9
171 #include _GLIBCXX_BIND_REPEAT_HEADER
172 #undef _GLIBCXX_BIND_ARGS
173 #undef _GLIBCXX_BIND_PARAMS
174 #undef _GLIBCXX_BIND_TEMPLATE_ARGS
175 #undef _GLIBCXX_BIND_TEMPLATE_PARAMS
176 #undef _GLIBCXX_BIND_COMMA
177 #undef _GLIBCXX_BIND_NUM_ARGS
178
179 #define _GLIBCXX_BIND_NUM_ARGS 10
180 #define _GLIBCXX_BIND_COMMA ,
181 #define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8, typename _U9, typename _U10
182 #define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8, _U9, _U10
183 #define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4, _U5& __u5, _U6& __u6, _U7& __u7, _U8& __u8, _U9& __u9, _U10& __u10
184 #define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4, __u5, __u6, __u7, __u8, __u9, __u10
185 #include _GLIBCXX_BIND_REPEAT_HEADER
186 #undef _GLIBCXX_BIND_ARGS
187 #undef _GLIBCXX_BIND_PARAMS
188 #undef _GLIBCXX_BIND_TEMPLATE_ARGS
189 #undef _GLIBCXX_BIND_TEMPLATE_PARAMS
190 #undef _GLIBCXX_BIND_COMMA
191 #undef _GLIBCXX_BIND_NUM_ARGS
192