1*f8a1b7d9SAlexander Kabaev // TR1 code repetition -*- C++ -*-
2*f8a1b7d9SAlexander Kabaev 
3*f8a1b7d9SAlexander Kabaev // Copyright (C) 2005 Free Software Foundation, Inc.
4*f8a1b7d9SAlexander Kabaev // Written by Douglas Gregor <doug.gregor -at- gmail.com>
5*f8a1b7d9SAlexander Kabaev //
6*f8a1b7d9SAlexander Kabaev // This file is part of the GNU ISO C++ Library.  This library is free
7*f8a1b7d9SAlexander Kabaev // software; you can redistribute it and/or modify it under the
8*f8a1b7d9SAlexander Kabaev // terms of the GNU General Public License as published by the
9*f8a1b7d9SAlexander Kabaev // Free Software Foundation; either version 2, or (at your option)
10*f8a1b7d9SAlexander Kabaev // any later version.
11*f8a1b7d9SAlexander Kabaev 
12*f8a1b7d9SAlexander Kabaev // This library is distributed in the hope that it will be useful,
13*f8a1b7d9SAlexander Kabaev // but WITHOUT ANY WARRANTY; without even the implied warranty of
14*f8a1b7d9SAlexander Kabaev // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15*f8a1b7d9SAlexander Kabaev // GNU General Public License for more details.
16*f8a1b7d9SAlexander Kabaev 
17*f8a1b7d9SAlexander Kabaev // You should have received a copy of the GNU General Public License along
18*f8a1b7d9SAlexander Kabaev // with this library; see the file COPYING.  If not, write to the Free
19*f8a1b7d9SAlexander Kabaev // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
20*f8a1b7d9SAlexander Kabaev // USA.
21*f8a1b7d9SAlexander Kabaev 
22*f8a1b7d9SAlexander Kabaev // As a special exception, you may use this file as part of a free software
23*f8a1b7d9SAlexander Kabaev // library without restriction.  Specifically, if other files instantiate
24*f8a1b7d9SAlexander Kabaev // templates or use macros or inline functions from this file, or you compile
25*f8a1b7d9SAlexander Kabaev // this file and link it with other files to produce an executable, this
26*f8a1b7d9SAlexander Kabaev // file does not by itself cause the resulting executable to be covered by
27*f8a1b7d9SAlexander Kabaev // the GNU General Public License.  This exception does not however
28*f8a1b7d9SAlexander Kabaev // invalidate any other reasons why the executable file might be covered by
29*f8a1b7d9SAlexander Kabaev // the GNU General Public License.
30*f8a1b7d9SAlexander Kabaev 
31*f8a1b7d9SAlexander Kabaev /** @file tr1/repeat.h
32*f8a1b7d9SAlexander Kabaev  *  This is an internal header file, included by other library headers.
33*f8a1b7d9SAlexander Kabaev  *  You should not attempt to use it directly.
34*f8a1b7d9SAlexander Kabaev  */
35*f8a1b7d9SAlexander Kabaev 
36*f8a1b7d9SAlexander Kabaev #ifndef _GLIBCXX_REPEAT_HEADER
37*f8a1b7d9SAlexander Kabaev #  error Internal error: _GLIBCXX_REPEAT_HEADER must be set
38*f8a1b7d9SAlexander Kabaev #endif /* _GLIBCXX_REPEAT_HEADER */
39*f8a1b7d9SAlexander Kabaev 
40*f8a1b7d9SAlexander Kabaev #ifndef _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS
41*f8a1b7d9SAlexander Kabaev #  define _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10
42*f8a1b7d9SAlexander Kabaev #  define _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED typename, typename, typename, typename, typename, typename, typename, typename, typename, typename
43*f8a1b7d9SAlexander Kabaev #  define _GLIBCXX_TUPLE_ALL_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10
44*f8a1b7d9SAlexander Kabaev #endif
45*f8a1b7d9SAlexander Kabaev 
46*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS 0
47*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA
48*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS
49*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS
50*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS
51*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_PARAMS
52*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS
53*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA_SHIFTED
54*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
55*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_SHIFTED
56*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS_SHIFTED
57*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS_SHIFTED
58*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS_INIT
59*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS
60*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_MU_GET_TUPLE_ARGS
61*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV)
62*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_ARGS
63*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ADD_CREF
64*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_COPY_INIT
65*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ASSIGN
66*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
67*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_STRIPPED
68*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_U
69*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_U
70*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_WRAP_PARAMS
71*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_TEMPLATE_ARGS
72*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS_PLUS_1 1
73*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T1
74*f8a1b7d9SAlexander Kabaev #include _GLIBCXX_REPEAT_HEADER
75*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_T_NUM_ARGS_PLUS_1
76*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS_PLUS_1
77*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_TEMPLATE_ARGS
78*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_WRAP_PARAMS
79*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_U
80*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_U
81*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
82*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
83*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ASSIGN
84*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_COPY_INIT
85*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ADD_CREF
86*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_ARGS
87*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
88*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_MU_GET_TUPLE_ARGS
89*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS_INIT
90*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS
91*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS_SHIFTED
92*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS_SHIFTED
93*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
94*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
95*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA_SHIFTED
96*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS
97*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_PARAMS
98*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS
99*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS
100*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS
101*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA
102*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS
103*f8a1b7d9SAlexander Kabaev 
104*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS 1
105*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA ,
106*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS typename _T1
107*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS _T1
108*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS _T1 __a1
109*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_PARAMS _T1& __a1
110*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS __a1
111*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA_SHIFTED
112*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
113*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_SHIFTED
114*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS_SHIFTED
115*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS_SHIFTED
116*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1;
117*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1)
118*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple)
119*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
120*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
121*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1
122*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1)
123*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1;
124*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass
125*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type
126*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1
127*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_U _U1
128*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_WRAP_PARAMS ref(__a1)
129*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_TEMPLATE_ARGS _T1&
130*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS_PLUS_1 2
131*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T2
132*f8a1b7d9SAlexander Kabaev #include _GLIBCXX_REPEAT_HEADER
133*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_T_NUM_ARGS_PLUS_1
134*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS_PLUS_1
135*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_TEMPLATE_ARGS
136*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_WRAP_PARAMS
137*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_U
138*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_U
139*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
140*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
141*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ASSIGN
142*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_COPY_INIT
143*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ADD_CREF
144*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_ARGS
145*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
146*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_MU_GET_TUPLE_ARGS
147*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS_INIT
148*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS
149*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS_SHIFTED
150*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS_SHIFTED
151*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
152*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
153*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA_SHIFTED
154*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS
155*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_PARAMS
156*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS
157*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS
158*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS
159*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA
160*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS
161*f8a1b7d9SAlexander Kabaev 
162*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS 2
163*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA ,
164*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2
165*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS _T1, _T2
166*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2
167*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2
168*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS __a1, __a2
169*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA_SHIFTED ,
170*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1
171*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1
172*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS_SHIFTED _T1 __a1
173*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS_SHIFTED __a1
174*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2;
175*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2)
176*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple)
177*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
178*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
179*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2
180*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2)
181*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2;
182*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass
183*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type
184*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2
185*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2
186*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2)
187*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&
188*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS_PLUS_1 3
189*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T3
190*f8a1b7d9SAlexander Kabaev #include _GLIBCXX_REPEAT_HEADER
191*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_T_NUM_ARGS_PLUS_1
192*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS_PLUS_1
193*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_TEMPLATE_ARGS
194*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_WRAP_PARAMS
195*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_U
196*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_U
197*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
198*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
199*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ASSIGN
200*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_COPY_INIT
201*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ADD_CREF
202*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_ARGS
203*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
204*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_MU_GET_TUPLE_ARGS
205*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS_INIT
206*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS
207*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS_SHIFTED
208*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS_SHIFTED
209*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
210*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
211*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA_SHIFTED
212*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS
213*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_PARAMS
214*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS
215*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS
216*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS
217*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA
218*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS
219*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS 3
220*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA ,
221*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3
222*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3
223*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3
224*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3
225*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS __a1, __a2, __a3
226*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA_SHIFTED ,
227*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2
228*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2
229*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2
230*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS_SHIFTED __a1, __a2
231*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3;
232*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3)
233*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple)
234*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
235*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
236*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3
237*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3)
238*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3;
239*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass
240*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type
241*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3
242*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3
243*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3)
244*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&
245*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS_PLUS_1 4
246*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T4
247*f8a1b7d9SAlexander Kabaev #include _GLIBCXX_REPEAT_HEADER
248*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_T_NUM_ARGS_PLUS_1
249*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS_PLUS_1
250*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_TEMPLATE_ARGS
251*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_WRAP_PARAMS
252*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_U
253*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_U
254*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
255*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
256*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ASSIGN
257*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_COPY_INIT
258*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ADD_CREF
259*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_ARGS
260*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
261*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_MU_GET_TUPLE_ARGS
262*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS_INIT
263*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS
264*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS_SHIFTED
265*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS_SHIFTED
266*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
267*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
268*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA_SHIFTED
269*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS
270*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_PARAMS
271*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS
272*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS
273*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS
274*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA
275*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS
276*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS 4
277*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA ,
278*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4
279*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4
280*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4
281*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4
282*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS __a1, __a2, __a3, __a4
283*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA_SHIFTED ,
284*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3
285*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3
286*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3
287*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3
288*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4;
289*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4)
290*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple)
291*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
292*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
293*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4
294*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4)
295*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4;
296*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass
297*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type
298*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4
299*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4
300*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4)
301*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&
302*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS_PLUS_1 5
303*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T5
304*f8a1b7d9SAlexander Kabaev #include _GLIBCXX_REPEAT_HEADER
305*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_T_NUM_ARGS_PLUS_1
306*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS_PLUS_1
307*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_TEMPLATE_ARGS
308*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_WRAP_PARAMS
309*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_U
310*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_U
311*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
312*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
313*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ASSIGN
314*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_COPY_INIT
315*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ADD_CREF
316*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_ARGS
317*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
318*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_MU_GET_TUPLE_ARGS
319*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS_INIT
320*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS
321*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS_SHIFTED
322*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS_SHIFTED
323*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
324*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
325*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA_SHIFTED
326*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS
327*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_PARAMS
328*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS
329*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS
330*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS
331*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA
332*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS
333*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS 5
334*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA ,
335*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5
336*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5
337*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5
338*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5
339*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5
340*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA_SHIFTED ,
341*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4
342*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4
343*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4
344*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4
345*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5;
346*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5)
347*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple), ::std::tr1::get<4>(__tuple)
348*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T5> _CV(_T5, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
349*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
350*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4, typename __add_c_ref<_T5>::type __a5
351*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4), _M_arg5(__in._M_arg5)
352*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4; _M_arg5 = __in._M_arg5;
353*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass
354*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type, typename __strip_reference_wrapper<_T5>::__type
355*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5
356*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5
357*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5)
358*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&
359*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS_PLUS_1 6
360*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T6
361*f8a1b7d9SAlexander Kabaev #include _GLIBCXX_REPEAT_HEADER
362*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_T_NUM_ARGS_PLUS_1
363*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS_PLUS_1
364*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_TEMPLATE_ARGS
365*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_WRAP_PARAMS
366*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_U
367*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_U
368*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
369*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
370*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ASSIGN
371*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_COPY_INIT
372*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ADD_CREF
373*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_ARGS
374*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
375*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_MU_GET_TUPLE_ARGS
376*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS_INIT
377*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS
378*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS_SHIFTED
379*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS_SHIFTED
380*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
381*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
382*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA_SHIFTED
383*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS
384*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_PARAMS
385*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS
386*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS
387*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS
388*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA
389*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS
390*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS 6
391*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA ,
392*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6
393*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6
394*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6
395*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6
396*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6
397*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA_SHIFTED ,
398*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5
399*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5
400*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5
401*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5
402*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5; _T6 _M_arg6;
403*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5), _M_arg6(__a6)
404*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple), ::std::tr1::get<4>(__tuple), ::std::tr1::get<5>(__tuple)
405*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T5> _CV(_T5, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T6> _CV(_T6, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
406*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
407*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4, typename __add_c_ref<_T5>::type __a5, typename __add_c_ref<_T6>::type __a6
408*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4), _M_arg5(__in._M_arg5), _M_arg6(__in._M_arg6)
409*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4; _M_arg5 = __in._M_arg5; _M_arg6 = __in._M_arg6;
410*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass, typename _T6 = _NullClass
411*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type, typename __strip_reference_wrapper<_T5>::__type, typename __strip_reference_wrapper<_T6>::__type
412*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6
413*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6
414*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6)
415*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&
416*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS_PLUS_1 7
417*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T7
418*f8a1b7d9SAlexander Kabaev #include _GLIBCXX_REPEAT_HEADER
419*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_T_NUM_ARGS_PLUS_1
420*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS_PLUS_1
421*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_TEMPLATE_ARGS
422*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_WRAP_PARAMS
423*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_U
424*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_U
425*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
426*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
427*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ASSIGN
428*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_COPY_INIT
429*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ADD_CREF
430*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_ARGS
431*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
432*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_MU_GET_TUPLE_ARGS
433*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS_INIT
434*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS
435*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS_SHIFTED
436*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS_SHIFTED
437*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
438*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
439*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA_SHIFTED
440*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS
441*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_PARAMS
442*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS
443*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS
444*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS
445*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA
446*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS
447*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS 7
448*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA ,
449*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7
450*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7
451*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7
452*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7
453*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7
454*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA_SHIFTED ,
455*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6
456*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6
457*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6
458*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6
459*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5; _T6 _M_arg6; _T7 _M_arg7;
460*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5), _M_arg6(__a6), _M_arg7(__a7)
461*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple), ::std::tr1::get<4>(__tuple), ::std::tr1::get<5>(__tuple), ::std::tr1::get<6>(__tuple)
462*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T5> _CV(_T5, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T6> _CV(_T6, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T7> _CV(_T7, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
463*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T7>()(_M_arg7, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
464*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4, typename __add_c_ref<_T5>::type __a5, typename __add_c_ref<_T6>::type __a6, typename __add_c_ref<_T7>::type __a7
465*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4), _M_arg5(__in._M_arg5), _M_arg6(__in._M_arg6), _M_arg7(__in._M_arg7)
466*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4; _M_arg5 = __in._M_arg5; _M_arg6 = __in._M_arg6; _M_arg7 = __in._M_arg7;
467*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass, typename _T6 = _NullClass, typename _T7 = _NullClass
468*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type, typename __strip_reference_wrapper<_T5>::__type, typename __strip_reference_wrapper<_T6>::__type, typename __strip_reference_wrapper<_T7>::__type
469*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7
470*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6, _U7
471*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6), ref(__a7)
472*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&, _T7&
473*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS_PLUS_1 8
474*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T8
475*f8a1b7d9SAlexander Kabaev #include _GLIBCXX_REPEAT_HEADER
476*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_T_NUM_ARGS_PLUS_1
477*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS_PLUS_1
478*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_TEMPLATE_ARGS
479*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_WRAP_PARAMS
480*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_U
481*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_U
482*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
483*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
484*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ASSIGN
485*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_COPY_INIT
486*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ADD_CREF
487*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_ARGS
488*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
489*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_MU_GET_TUPLE_ARGS
490*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS_INIT
491*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS
492*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS_SHIFTED
493*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS_SHIFTED
494*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
495*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
496*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA_SHIFTED
497*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS
498*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_PARAMS
499*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS
500*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS
501*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS
502*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA
503*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS
504*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS 8
505*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA ,
506*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8
507*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8
508*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8
509*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8
510*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8
511*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA_SHIFTED ,
512*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7
513*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7
514*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7
515*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7
516*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5; _T6 _M_arg6; _T7 _M_arg7; _T8 _M_arg8;
517*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5), _M_arg6(__a6), _M_arg7(__a7), _M_arg8(__a8)
518*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple), ::std::tr1::get<4>(__tuple), ::std::tr1::get<5>(__tuple), ::std::tr1::get<6>(__tuple), ::std::tr1::get<7>(__tuple)
519*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T5> _CV(_T5, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T6> _CV(_T6, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T7> _CV(_T7, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T8> _CV(_T8, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
520*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T7>()(_M_arg7, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T8>()(_M_arg8, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
521*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4, typename __add_c_ref<_T5>::type __a5, typename __add_c_ref<_T6>::type __a6, typename __add_c_ref<_T7>::type __a7, typename __add_c_ref<_T8>::type __a8
522*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4), _M_arg5(__in._M_arg5), _M_arg6(__in._M_arg6), _M_arg7(__in._M_arg7), _M_arg8(__in._M_arg8)
523*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4; _M_arg5 = __in._M_arg5; _M_arg6 = __in._M_arg6; _M_arg7 = __in._M_arg7; _M_arg8 = __in._M_arg8;
524*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass, typename _T6 = _NullClass, typename _T7 = _NullClass, typename _T8 = _NullClass
525*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type, typename __strip_reference_wrapper<_T5>::__type, typename __strip_reference_wrapper<_T6>::__type, typename __strip_reference_wrapper<_T7>::__type, typename __strip_reference_wrapper<_T8>::__type
526*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8
527*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8
528*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6), ref(__a7), ref(__a8)
529*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&, _T7&, _T8&
530*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS_PLUS_1 9
531*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T9
532*f8a1b7d9SAlexander Kabaev #include _GLIBCXX_REPEAT_HEADER
533*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_T_NUM_ARGS_PLUS_1
534*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS_PLUS_1
535*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_TEMPLATE_ARGS
536*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_WRAP_PARAMS
537*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_U
538*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_U
539*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
540*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
541*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ASSIGN
542*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_COPY_INIT
543*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ADD_CREF
544*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_ARGS
545*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
546*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_MU_GET_TUPLE_ARGS
547*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS_INIT
548*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS
549*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS_SHIFTED
550*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS_SHIFTED
551*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
552*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
553*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA_SHIFTED
554*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS
555*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_PARAMS
556*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS
557*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS
558*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS
559*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA
560*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS
561*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS 9
562*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA ,
563*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9
564*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9
565*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9
566*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9
567*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9
568*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA_SHIFTED ,
569*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8
570*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8
571*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8
572*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8
573*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5; _T6 _M_arg6; _T7 _M_arg7; _T8 _M_arg8; _T9 _M_arg9;
574*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5), _M_arg6(__a6), _M_arg7(__a7), _M_arg8(__a8), _M_arg9(__a9)
575*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple), ::std::tr1::get<4>(__tuple), ::std::tr1::get<5>(__tuple), ::std::tr1::get<6>(__tuple), ::std::tr1::get<7>(__tuple), ::std::tr1::get<8>(__tuple)
576*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T5> _CV(_T5, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T6> _CV(_T6, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T7> _CV(_T7, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T8> _CV(_T8, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T9> _CV(_T9, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
577*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T7>()(_M_arg7, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T8>()(_M_arg8, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T9>()(_M_arg9, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
578*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4, typename __add_c_ref<_T5>::type __a5, typename __add_c_ref<_T6>::type __a6, typename __add_c_ref<_T7>::type __a7, typename __add_c_ref<_T8>::type __a8, typename __add_c_ref<_T9>::type __a9
579*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4), _M_arg5(__in._M_arg5), _M_arg6(__in._M_arg6), _M_arg7(__in._M_arg7), _M_arg8(__in._M_arg8), _M_arg9(__in._M_arg9)
580*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4; _M_arg5 = __in._M_arg5; _M_arg6 = __in._M_arg6; _M_arg7 = __in._M_arg7; _M_arg8 = __in._M_arg8; _M_arg9 = __in._M_arg9;
581*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass, typename _T6 = _NullClass, typename _T7 = _NullClass, typename _T8 = _NullClass, typename _T9 = _NullClass
582*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type, typename __strip_reference_wrapper<_T5>::__type, typename __strip_reference_wrapper<_T6>::__type, typename __strip_reference_wrapper<_T7>::__type, typename __strip_reference_wrapper<_T8>::__type, typename __strip_reference_wrapper<_T9>::__type
583*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8, typename _U9
584*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8, _U9
585*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6), ref(__a7), ref(__a8), ref(__a9)
586*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&, _T7&, _T8&, _T9&
587*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS_PLUS_1 10
588*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T10
589*f8a1b7d9SAlexander Kabaev #include _GLIBCXX_REPEAT_HEADER
590*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_T_NUM_ARGS_PLUS_1
591*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS_PLUS_1
592*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_TEMPLATE_ARGS
593*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_WRAP_PARAMS
594*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_U
595*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_U
596*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
597*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
598*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ASSIGN
599*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_COPY_INIT
600*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ADD_CREF
601*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_ARGS
602*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
603*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_MU_GET_TUPLE_ARGS
604*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS_INIT
605*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS
606*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS_SHIFTED
607*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS_SHIFTED
608*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
609*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
610*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA_SHIFTED
611*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS
612*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_PARAMS
613*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS
614*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS
615*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS
616*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA
617*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS
618*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_LAST_INCLUDE
619*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS 10
620*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA ,
621*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10
622*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10
623*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10
624*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10
625*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10
626*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_COMMA_SHIFTED ,
627*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9
628*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9
629*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9
630*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9
631*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5; _T6 _M_arg6; _T7 _M_arg7; _T8 _M_arg8; _T9 _M_arg9; _T10 _M_arg10;
632*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5), _M_arg6(__a6), _M_arg7(__a7), _M_arg8(__a8), _M_arg9(__a9), _M_arg10(__a10)
633*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple), ::std::tr1::get<3>(__tuple), ::std::tr1::get<4>(__tuple), ::std::tr1::get<5>(__tuple), ::std::tr1::get<6>(__tuple), ::std::tr1::get<7>(__tuple), ::std::tr1::get<8>(__tuple), ::std::tr1::get<9>(__tuple)
634*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T2> _CV(_T2, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T3> _CV(_T3, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T4> _CV(_T4, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T5> _CV(_T5, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T6> _CV(_T6, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T7> _CV(_T7, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T8> _CV(_T8, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T9> _CV(_T9, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type, typename result_of<_Mu<_T10> _CV(_T10, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type
635*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T2>()(_M_arg2, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T3>()(_M_arg3, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T4>()(_M_arg4, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T5>()(_M_arg5, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T6>()(_M_arg6, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T7>()(_M_arg7, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T8>()(_M_arg8, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T9>()(_M_arg9, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)), _Mu<_T10>()(_M_arg10, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))
636*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2, typename __add_c_ref<_T3>::type __a3, typename __add_c_ref<_T4>::type __a4, typename __add_c_ref<_T5>::type __a5, typename __add_c_ref<_T6>::type __a6, typename __add_c_ref<_T7>::type __a7, typename __add_c_ref<_T8>::type __a8, typename __add_c_ref<_T9>::type __a9, typename __add_c_ref<_T10>::type __a10
637*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3), _M_arg4(__in._M_arg4), _M_arg5(__in._M_arg5), _M_arg6(__in._M_arg6), _M_arg7(__in._M_arg7), _M_arg8(__in._M_arg8), _M_arg9(__in._M_arg9), _M_arg10(__in._M_arg10)
638*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4; _M_arg5 = __in._M_arg5; _M_arg6 = __in._M_arg6; _M_arg7 = __in._M_arg7; _M_arg8 = __in._M_arg8; _M_arg9 = __in._M_arg9; _M_arg10 = __in._M_arg10;
639*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass, typename _T6 = _NullClass, typename _T7 = _NullClass, typename _T8 = _NullClass, typename _T9 = _NullClass, typename _T10 = _NullClass
640*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type, typename __strip_reference_wrapper<_T5>::__type, typename __strip_reference_wrapper<_T6>::__type, typename __strip_reference_wrapper<_T7>::__type, typename __strip_reference_wrapper<_T8>::__type, typename __strip_reference_wrapper<_T9>::__type, typename __strip_reference_wrapper<_T10>::__type
641*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8, typename _U9, typename _U10
642*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8, _U9, _U10
643*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6), ref(__a7), ref(__a8), ref(__a9), ref(__a10)
644*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&, _T7&, _T8&, _T9&, _T10&
645*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_NUM_ARGS_PLUS_1 11
646*f8a1b7d9SAlexander Kabaev #define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T11
647*f8a1b7d9SAlexander Kabaev #include _GLIBCXX_REPEAT_HEADER
648*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_T_NUM_ARGS_PLUS_1
649*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS_PLUS_1
650*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_TEMPLATE_ARGS
651*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_WRAP_PARAMS
652*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_U
653*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_U
654*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
655*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
656*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ASSIGN
657*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_COPY_INIT
658*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TUPLE_ADD_CREF
659*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_ARGS
660*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
661*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_MU_GET_TUPLE_ARGS
662*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS_INIT
663*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_BIND_MEMBERS
664*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS_SHIFTED
665*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS_SHIFTED
666*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
667*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
668*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA_SHIFTED
669*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_ARGS
670*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_REF_PARAMS
671*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_PARAMS
672*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_ARGS
673*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_TEMPLATE_PARAMS
674*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_COMMA
675*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_NUM_ARGS
676*f8a1b7d9SAlexander Kabaev #undef _GLIBCXX_LAST_INCLUDE
677*f8a1b7d9SAlexander Kabaev 
678