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