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