1169691Skan// TR1 code repetition -*- C++ -*- 2169691Skan 3169691Skan// Copyright (C) 2005 Free Software Foundation, Inc. 4169691Skan// Written by Douglas Gregor <doug.gregor -at- gmail.com> 5169691Skan// 6169691Skan// This file is part of the GNU ISO C++ Library. This library is free 7169691Skan// software; you can redistribute it and/or modify it under the 8169691Skan// terms of the GNU General Public License as published by the 9169691Skan// Free Software Foundation; either version 2, or (at your option) 10169691Skan// any later version. 11169691Skan 12169691Skan// This library is distributed in the hope that it will be useful, 13169691Skan// but WITHOUT ANY WARRANTY; without even the implied warranty of 14169691Skan// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15169691Skan// GNU General Public License for more details. 16169691Skan 17169691Skan// You should have received a copy of the GNU General Public License along 18169691Skan// with this library; see the file COPYING. If not, write to the Free 19169691Skan// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 20169691Skan// USA. 21169691Skan 22169691Skan// As a special exception, you may use this file as part of a free software 23169691Skan// library without restriction. Specifically, if other files instantiate 24169691Skan// templates or use macros or inline functions from this file, or you compile 25169691Skan// this file and link it with other files to produce an executable, this 26169691Skan// file does not by itself cause the resulting executable to be covered by 27169691Skan// the GNU General Public License. This exception does not however 28169691Skan// invalidate any other reasons why the executable file might be covered by 29169691Skan// the GNU General Public License. 30169691Skan 31169691Skan/** @file tr1/repeat.h 32169691Skan * This is an internal header file, included by other library headers. 33169691Skan * You should not attempt to use it directly. 34169691Skan */ 35169691Skan 36169691Skan#ifndef _GLIBCXX_REPEAT_HEADER 37169691Skan# error Internal error: _GLIBCXX_REPEAT_HEADER must be set 38169691Skan#endif /* _GLIBCXX_REPEAT_HEADER */ 39169691Skan 40169691Skan#ifndef _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS 41169691Skan# 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 42169691Skan# define _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED typename, typename, typename, typename, typename, typename, typename, typename, typename, typename 43169691Skan# define _GLIBCXX_TUPLE_ALL_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10 44169691Skan#endif 45169691Skan 46169691Skan#define _GLIBCXX_NUM_ARGS 0 47169691Skan#define _GLIBCXX_COMMA 48169691Skan#define _GLIBCXX_TEMPLATE_PARAMS 49169691Skan#define _GLIBCXX_TEMPLATE_ARGS 50169691Skan#define _GLIBCXX_PARAMS 51169691Skan#define _GLIBCXX_REF_PARAMS 52169691Skan#define _GLIBCXX_ARGS 53169691Skan#define _GLIBCXX_COMMA_SHIFTED 54169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED 55169691Skan#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED 56169691Skan#define _GLIBCXX_PARAMS_SHIFTED 57169691Skan#define _GLIBCXX_ARGS_SHIFTED 58169691Skan#define _GLIBCXX_BIND_MEMBERS_INIT 59169691Skan#define _GLIBCXX_BIND_MEMBERS 60169691Skan#define _GLIBCXX_MU_GET_TUPLE_ARGS 61169691Skan#define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) 62169691Skan#define _GLIBCXX_BIND_V_ARGS 63169691Skan#define _GLIBCXX_TUPLE_ADD_CREF 64169691Skan#define _GLIBCXX_TUPLE_COPY_INIT 65169691Skan#define _GLIBCXX_TUPLE_ASSIGN 66169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS 67169691Skan#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED 68169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_U 69169691Skan#define _GLIBCXX_TEMPLATE_ARGS_U 70169691Skan#define _GLIBCXX_REF_WRAP_PARAMS 71169691Skan#define _GLIBCXX_REF_TEMPLATE_ARGS 72169691Skan#define _GLIBCXX_NUM_ARGS_PLUS_1 1 73169691Skan#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T1 74169691Skan#include _GLIBCXX_REPEAT_HEADER 75169691Skan#undef _GLIBCXX_T_NUM_ARGS_PLUS_1 76169691Skan#undef _GLIBCXX_NUM_ARGS_PLUS_1 77169691Skan#undef _GLIBCXX_REF_TEMPLATE_ARGS 78169691Skan#undef _GLIBCXX_REF_WRAP_PARAMS 79169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_U 80169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_U 81169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED 82169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS 83169691Skan#undef _GLIBCXX_TUPLE_ASSIGN 84169691Skan#undef _GLIBCXX_TUPLE_COPY_INIT 85169691Skan#undef _GLIBCXX_TUPLE_ADD_CREF 86169691Skan#undef _GLIBCXX_BIND_V_ARGS 87169691Skan#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS 88169691Skan#undef _GLIBCXX_MU_GET_TUPLE_ARGS 89169691Skan#undef _GLIBCXX_BIND_MEMBERS_INIT 90169691Skan#undef _GLIBCXX_BIND_MEMBERS 91169691Skan#undef _GLIBCXX_ARGS_SHIFTED 92169691Skan#undef _GLIBCXX_PARAMS_SHIFTED 93169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED 94169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED 95169691Skan#undef _GLIBCXX_COMMA_SHIFTED 96169691Skan#undef _GLIBCXX_ARGS 97169691Skan#undef _GLIBCXX_REF_PARAMS 98169691Skan#undef _GLIBCXX_PARAMS 99169691Skan#undef _GLIBCXX_TEMPLATE_ARGS 100169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS 101169691Skan#undef _GLIBCXX_COMMA 102169691Skan#undef _GLIBCXX_NUM_ARGS 103169691Skan 104169691Skan#define _GLIBCXX_NUM_ARGS 1 105169691Skan#define _GLIBCXX_COMMA , 106169691Skan#define _GLIBCXX_TEMPLATE_PARAMS typename _T1 107169691Skan#define _GLIBCXX_TEMPLATE_ARGS _T1 108169691Skan#define _GLIBCXX_PARAMS _T1 __a1 109169691Skan#define _GLIBCXX_REF_PARAMS _T1& __a1 110169691Skan#define _GLIBCXX_ARGS __a1 111169691Skan#define _GLIBCXX_COMMA_SHIFTED 112169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED 113169691Skan#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED 114169691Skan#define _GLIBCXX_PARAMS_SHIFTED 115169691Skan#define _GLIBCXX_ARGS_SHIFTED 116169691Skan#define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; 117169691Skan#define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1) 118169691Skan#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple) 119169691Skan#define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type 120169691Skan#define _GLIBCXX_BIND_V_ARGS _Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS)) 121169691Skan#define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1 122169691Skan#define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1) 123169691Skan#define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; 124169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass 125169691Skan#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type 126169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1 127169691Skan#define _GLIBCXX_TEMPLATE_ARGS_U _U1 128169691Skan#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1) 129169691Skan#define _GLIBCXX_REF_TEMPLATE_ARGS _T1& 130169691Skan#define _GLIBCXX_NUM_ARGS_PLUS_1 2 131169691Skan#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T2 132169691Skan#include _GLIBCXX_REPEAT_HEADER 133169691Skan#undef _GLIBCXX_T_NUM_ARGS_PLUS_1 134169691Skan#undef _GLIBCXX_NUM_ARGS_PLUS_1 135169691Skan#undef _GLIBCXX_REF_TEMPLATE_ARGS 136169691Skan#undef _GLIBCXX_REF_WRAP_PARAMS 137169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_U 138169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_U 139169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED 140169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS 141169691Skan#undef _GLIBCXX_TUPLE_ASSIGN 142169691Skan#undef _GLIBCXX_TUPLE_COPY_INIT 143169691Skan#undef _GLIBCXX_TUPLE_ADD_CREF 144169691Skan#undef _GLIBCXX_BIND_V_ARGS 145169691Skan#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS 146169691Skan#undef _GLIBCXX_MU_GET_TUPLE_ARGS 147169691Skan#undef _GLIBCXX_BIND_MEMBERS_INIT 148169691Skan#undef _GLIBCXX_BIND_MEMBERS 149169691Skan#undef _GLIBCXX_ARGS_SHIFTED 150169691Skan#undef _GLIBCXX_PARAMS_SHIFTED 151169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED 152169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED 153169691Skan#undef _GLIBCXX_COMMA_SHIFTED 154169691Skan#undef _GLIBCXX_ARGS 155169691Skan#undef _GLIBCXX_REF_PARAMS 156169691Skan#undef _GLIBCXX_PARAMS 157169691Skan#undef _GLIBCXX_TEMPLATE_ARGS 158169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS 159169691Skan#undef _GLIBCXX_COMMA 160169691Skan#undef _GLIBCXX_NUM_ARGS 161169691Skan 162169691Skan#define _GLIBCXX_NUM_ARGS 2 163169691Skan#define _GLIBCXX_COMMA , 164169691Skan#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2 165169691Skan#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2 166169691Skan#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2 167169691Skan#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2 168169691Skan#define _GLIBCXX_ARGS __a1, __a2 169169691Skan#define _GLIBCXX_COMMA_SHIFTED , 170169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1 171169691Skan#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1 172169691Skan#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1 173169691Skan#define _GLIBCXX_ARGS_SHIFTED __a1 174169691Skan#define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; 175169691Skan#define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2) 176169691Skan#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple) 177169691Skan#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 178169691Skan#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)) 179169691Skan#define _GLIBCXX_TUPLE_ADD_CREF typename __add_c_ref<_T1>::type __a1, typename __add_c_ref<_T2>::type __a2 180169691Skan#define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2) 181169691Skan#define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; 182169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass 183169691Skan#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type 184169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2 185169691Skan#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2 186169691Skan#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2) 187169691Skan#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2& 188169691Skan#define _GLIBCXX_NUM_ARGS_PLUS_1 3 189169691Skan#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T3 190169691Skan#include _GLIBCXX_REPEAT_HEADER 191169691Skan#undef _GLIBCXX_T_NUM_ARGS_PLUS_1 192169691Skan#undef _GLIBCXX_NUM_ARGS_PLUS_1 193169691Skan#undef _GLIBCXX_REF_TEMPLATE_ARGS 194169691Skan#undef _GLIBCXX_REF_WRAP_PARAMS 195169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_U 196169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_U 197169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED 198169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS 199169691Skan#undef _GLIBCXX_TUPLE_ASSIGN 200169691Skan#undef _GLIBCXX_TUPLE_COPY_INIT 201169691Skan#undef _GLIBCXX_TUPLE_ADD_CREF 202169691Skan#undef _GLIBCXX_BIND_V_ARGS 203169691Skan#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS 204169691Skan#undef _GLIBCXX_MU_GET_TUPLE_ARGS 205169691Skan#undef _GLIBCXX_BIND_MEMBERS_INIT 206169691Skan#undef _GLIBCXX_BIND_MEMBERS 207169691Skan#undef _GLIBCXX_ARGS_SHIFTED 208169691Skan#undef _GLIBCXX_PARAMS_SHIFTED 209169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED 210169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED 211169691Skan#undef _GLIBCXX_COMMA_SHIFTED 212169691Skan#undef _GLIBCXX_ARGS 213169691Skan#undef _GLIBCXX_REF_PARAMS 214169691Skan#undef _GLIBCXX_PARAMS 215169691Skan#undef _GLIBCXX_TEMPLATE_ARGS 216169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS 217169691Skan#undef _GLIBCXX_COMMA 218169691Skan#undef _GLIBCXX_NUM_ARGS 219169691Skan#define _GLIBCXX_NUM_ARGS 3 220169691Skan#define _GLIBCXX_COMMA , 221169691Skan#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3 222169691Skan#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3 223169691Skan#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3 224169691Skan#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3 225169691Skan#define _GLIBCXX_ARGS __a1, __a2, __a3 226169691Skan#define _GLIBCXX_COMMA_SHIFTED , 227169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2 228169691Skan#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2 229169691Skan#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2 230169691Skan#define _GLIBCXX_ARGS_SHIFTED __a1, __a2 231169691Skan#define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; 232169691Skan#define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3) 233169691Skan#define _GLIBCXX_MU_GET_TUPLE_ARGS ::std::tr1::get<0>(__tuple), ::std::tr1::get<1>(__tuple), ::std::tr1::get<2>(__tuple) 234169691Skan#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 235169691Skan#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)) 236169691Skan#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 237169691Skan#define _GLIBCXX_TUPLE_COPY_INIT _M_arg1(__in._M_arg1), _M_arg2(__in._M_arg2), _M_arg3(__in._M_arg3) 238169691Skan#define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; 239169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass 240169691Skan#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type 241169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3 242169691Skan#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3 243169691Skan#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3) 244169691Skan#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3& 245169691Skan#define _GLIBCXX_NUM_ARGS_PLUS_1 4 246169691Skan#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T4 247169691Skan#include _GLIBCXX_REPEAT_HEADER 248169691Skan#undef _GLIBCXX_T_NUM_ARGS_PLUS_1 249169691Skan#undef _GLIBCXX_NUM_ARGS_PLUS_1 250169691Skan#undef _GLIBCXX_REF_TEMPLATE_ARGS 251169691Skan#undef _GLIBCXX_REF_WRAP_PARAMS 252169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_U 253169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_U 254169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED 255169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS 256169691Skan#undef _GLIBCXX_TUPLE_ASSIGN 257169691Skan#undef _GLIBCXX_TUPLE_COPY_INIT 258169691Skan#undef _GLIBCXX_TUPLE_ADD_CREF 259169691Skan#undef _GLIBCXX_BIND_V_ARGS 260169691Skan#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS 261169691Skan#undef _GLIBCXX_MU_GET_TUPLE_ARGS 262169691Skan#undef _GLIBCXX_BIND_MEMBERS_INIT 263169691Skan#undef _GLIBCXX_BIND_MEMBERS 264169691Skan#undef _GLIBCXX_ARGS_SHIFTED 265169691Skan#undef _GLIBCXX_PARAMS_SHIFTED 266169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED 267169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED 268169691Skan#undef _GLIBCXX_COMMA_SHIFTED 269169691Skan#undef _GLIBCXX_ARGS 270169691Skan#undef _GLIBCXX_REF_PARAMS 271169691Skan#undef _GLIBCXX_PARAMS 272169691Skan#undef _GLIBCXX_TEMPLATE_ARGS 273169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS 274169691Skan#undef _GLIBCXX_COMMA 275169691Skan#undef _GLIBCXX_NUM_ARGS 276169691Skan#define _GLIBCXX_NUM_ARGS 4 277169691Skan#define _GLIBCXX_COMMA , 278169691Skan#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4 279169691Skan#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4 280169691Skan#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4 281169691Skan#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4 282169691Skan#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4 283169691Skan#define _GLIBCXX_COMMA_SHIFTED , 284169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3 285169691Skan#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3 286169691Skan#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3 287169691Skan#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3 288169691Skan#define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; 289169691Skan#define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4) 290169691Skan#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) 291169691Skan#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 292169691Skan#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)) 293169691Skan#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 294169691Skan#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) 295169691Skan#define _GLIBCXX_TUPLE_ASSIGN _M_arg1 = __in._M_arg1; _M_arg2 = __in._M_arg2; _M_arg3 = __in._M_arg3; _M_arg4 = __in._M_arg4; 296169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass 297169691Skan#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 298169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4 299169691Skan#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4 300169691Skan#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4) 301169691Skan#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4& 302169691Skan#define _GLIBCXX_NUM_ARGS_PLUS_1 5 303169691Skan#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T5 304169691Skan#include _GLIBCXX_REPEAT_HEADER 305169691Skan#undef _GLIBCXX_T_NUM_ARGS_PLUS_1 306169691Skan#undef _GLIBCXX_NUM_ARGS_PLUS_1 307169691Skan#undef _GLIBCXX_REF_TEMPLATE_ARGS 308169691Skan#undef _GLIBCXX_REF_WRAP_PARAMS 309169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_U 310169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_U 311169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED 312169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS 313169691Skan#undef _GLIBCXX_TUPLE_ASSIGN 314169691Skan#undef _GLIBCXX_TUPLE_COPY_INIT 315169691Skan#undef _GLIBCXX_TUPLE_ADD_CREF 316169691Skan#undef _GLIBCXX_BIND_V_ARGS 317169691Skan#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS 318169691Skan#undef _GLIBCXX_MU_GET_TUPLE_ARGS 319169691Skan#undef _GLIBCXX_BIND_MEMBERS_INIT 320169691Skan#undef _GLIBCXX_BIND_MEMBERS 321169691Skan#undef _GLIBCXX_ARGS_SHIFTED 322169691Skan#undef _GLIBCXX_PARAMS_SHIFTED 323169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED 324169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED 325169691Skan#undef _GLIBCXX_COMMA_SHIFTED 326169691Skan#undef _GLIBCXX_ARGS 327169691Skan#undef _GLIBCXX_REF_PARAMS 328169691Skan#undef _GLIBCXX_PARAMS 329169691Skan#undef _GLIBCXX_TEMPLATE_ARGS 330169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS 331169691Skan#undef _GLIBCXX_COMMA 332169691Skan#undef _GLIBCXX_NUM_ARGS 333169691Skan#define _GLIBCXX_NUM_ARGS 5 334169691Skan#define _GLIBCXX_COMMA , 335169691Skan#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5 336169691Skan#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5 337169691Skan#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5 338169691Skan#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5 339169691Skan#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5 340169691Skan#define _GLIBCXX_COMMA_SHIFTED , 341169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4 342169691Skan#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4 343169691Skan#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4 344169691Skan#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4 345169691Skan#define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5; 346169691Skan#define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5) 347169691Skan#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) 348169691Skan#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 349169691Skan#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)) 350169691Skan#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 351169691Skan#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) 352169691Skan#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; 353169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass 354169691Skan#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 355169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5 356169691Skan#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5 357169691Skan#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5) 358169691Skan#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5& 359169691Skan#define _GLIBCXX_NUM_ARGS_PLUS_1 6 360169691Skan#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T6 361169691Skan#include _GLIBCXX_REPEAT_HEADER 362169691Skan#undef _GLIBCXX_T_NUM_ARGS_PLUS_1 363169691Skan#undef _GLIBCXX_NUM_ARGS_PLUS_1 364169691Skan#undef _GLIBCXX_REF_TEMPLATE_ARGS 365169691Skan#undef _GLIBCXX_REF_WRAP_PARAMS 366169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_U 367169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_U 368169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED 369169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS 370169691Skan#undef _GLIBCXX_TUPLE_ASSIGN 371169691Skan#undef _GLIBCXX_TUPLE_COPY_INIT 372169691Skan#undef _GLIBCXX_TUPLE_ADD_CREF 373169691Skan#undef _GLIBCXX_BIND_V_ARGS 374169691Skan#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS 375169691Skan#undef _GLIBCXX_MU_GET_TUPLE_ARGS 376169691Skan#undef _GLIBCXX_BIND_MEMBERS_INIT 377169691Skan#undef _GLIBCXX_BIND_MEMBERS 378169691Skan#undef _GLIBCXX_ARGS_SHIFTED 379169691Skan#undef _GLIBCXX_PARAMS_SHIFTED 380169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED 381169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED 382169691Skan#undef _GLIBCXX_COMMA_SHIFTED 383169691Skan#undef _GLIBCXX_ARGS 384169691Skan#undef _GLIBCXX_REF_PARAMS 385169691Skan#undef _GLIBCXX_PARAMS 386169691Skan#undef _GLIBCXX_TEMPLATE_ARGS 387169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS 388169691Skan#undef _GLIBCXX_COMMA 389169691Skan#undef _GLIBCXX_NUM_ARGS 390169691Skan#define _GLIBCXX_NUM_ARGS 6 391169691Skan#define _GLIBCXX_COMMA , 392169691Skan#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6 393169691Skan#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6 394169691Skan#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6 395169691Skan#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6 396169691Skan#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6 397169691Skan#define _GLIBCXX_COMMA_SHIFTED , 398169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5 399169691Skan#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5 400169691Skan#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5 401169691Skan#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5 402169691Skan#define _GLIBCXX_BIND_MEMBERS _T1 _M_arg1; _T2 _M_arg2; _T3 _M_arg3; _T4 _M_arg4; _T5 _M_arg5; _T6 _M_arg6; 403169691Skan#define _GLIBCXX_BIND_MEMBERS_INIT _M_arg1(__a1), _M_arg2(__a2), _M_arg3(__a3), _M_arg4(__a4), _M_arg5(__a5), _M_arg6(__a6) 404169691Skan#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) 405169691Skan#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 406169691Skan#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)) 407169691Skan#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 408169691Skan#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) 409169691Skan#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; 410169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass, typename _T6 = _NullClass 411169691Skan#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 412169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6 413169691Skan#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6 414169691Skan#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6) 415169691Skan#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6& 416169691Skan#define _GLIBCXX_NUM_ARGS_PLUS_1 7 417169691Skan#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T7 418169691Skan#include _GLIBCXX_REPEAT_HEADER 419169691Skan#undef _GLIBCXX_T_NUM_ARGS_PLUS_1 420169691Skan#undef _GLIBCXX_NUM_ARGS_PLUS_1 421169691Skan#undef _GLIBCXX_REF_TEMPLATE_ARGS 422169691Skan#undef _GLIBCXX_REF_WRAP_PARAMS 423169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_U 424169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_U 425169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED 426169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS 427169691Skan#undef _GLIBCXX_TUPLE_ASSIGN 428169691Skan#undef _GLIBCXX_TUPLE_COPY_INIT 429169691Skan#undef _GLIBCXX_TUPLE_ADD_CREF 430169691Skan#undef _GLIBCXX_BIND_V_ARGS 431169691Skan#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS 432169691Skan#undef _GLIBCXX_MU_GET_TUPLE_ARGS 433169691Skan#undef _GLIBCXX_BIND_MEMBERS_INIT 434169691Skan#undef _GLIBCXX_BIND_MEMBERS 435169691Skan#undef _GLIBCXX_ARGS_SHIFTED 436169691Skan#undef _GLIBCXX_PARAMS_SHIFTED 437169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED 438169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED 439169691Skan#undef _GLIBCXX_COMMA_SHIFTED 440169691Skan#undef _GLIBCXX_ARGS 441169691Skan#undef _GLIBCXX_REF_PARAMS 442169691Skan#undef _GLIBCXX_PARAMS 443169691Skan#undef _GLIBCXX_TEMPLATE_ARGS 444169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS 445169691Skan#undef _GLIBCXX_COMMA 446169691Skan#undef _GLIBCXX_NUM_ARGS 447169691Skan#define _GLIBCXX_NUM_ARGS 7 448169691Skan#define _GLIBCXX_COMMA , 449169691Skan#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7 450169691Skan#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7 451169691Skan#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7 452169691Skan#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7 453169691Skan#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7 454169691Skan#define _GLIBCXX_COMMA_SHIFTED , 455169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6 456169691Skan#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6 457169691Skan#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6 458169691Skan#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6 459169691Skan#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; 460169691Skan#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) 461169691Skan#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) 462169691Skan#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 463169691Skan#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)) 464169691Skan#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 465169691Skan#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) 466169691Skan#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; 467169691Skan#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 468169691Skan#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 469169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7 470169691Skan#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6, _U7 471169691Skan#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6), ref(__a7) 472169691Skan#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&, _T7& 473169691Skan#define _GLIBCXX_NUM_ARGS_PLUS_1 8 474169691Skan#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T8 475169691Skan#include _GLIBCXX_REPEAT_HEADER 476169691Skan#undef _GLIBCXX_T_NUM_ARGS_PLUS_1 477169691Skan#undef _GLIBCXX_NUM_ARGS_PLUS_1 478169691Skan#undef _GLIBCXX_REF_TEMPLATE_ARGS 479169691Skan#undef _GLIBCXX_REF_WRAP_PARAMS 480169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_U 481169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_U 482169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED 483169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS 484169691Skan#undef _GLIBCXX_TUPLE_ASSIGN 485169691Skan#undef _GLIBCXX_TUPLE_COPY_INIT 486169691Skan#undef _GLIBCXX_TUPLE_ADD_CREF 487169691Skan#undef _GLIBCXX_BIND_V_ARGS 488169691Skan#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS 489169691Skan#undef _GLIBCXX_MU_GET_TUPLE_ARGS 490169691Skan#undef _GLIBCXX_BIND_MEMBERS_INIT 491169691Skan#undef _GLIBCXX_BIND_MEMBERS 492169691Skan#undef _GLIBCXX_ARGS_SHIFTED 493169691Skan#undef _GLIBCXX_PARAMS_SHIFTED 494169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED 495169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED 496169691Skan#undef _GLIBCXX_COMMA_SHIFTED 497169691Skan#undef _GLIBCXX_ARGS 498169691Skan#undef _GLIBCXX_REF_PARAMS 499169691Skan#undef _GLIBCXX_PARAMS 500169691Skan#undef _GLIBCXX_TEMPLATE_ARGS 501169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS 502169691Skan#undef _GLIBCXX_COMMA 503169691Skan#undef _GLIBCXX_NUM_ARGS 504169691Skan#define _GLIBCXX_NUM_ARGS 8 505169691Skan#define _GLIBCXX_COMMA , 506169691Skan#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8 507169691Skan#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8 508169691Skan#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8 509169691Skan#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8 510169691Skan#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8 511169691Skan#define _GLIBCXX_COMMA_SHIFTED , 512169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7 513169691Skan#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7 514169691Skan#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7 515169691Skan#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7 516169691Skan#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; 517169691Skan#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) 518169691Skan#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) 519169691Skan#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 520169691Skan#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)) 521169691Skan#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 522169691Skan#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) 523169691Skan#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; 524169691Skan#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 525169691Skan#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 526169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8 527169691Skan#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8 528169691Skan#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6), ref(__a7), ref(__a8) 529169691Skan#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&, _T7&, _T8& 530169691Skan#define _GLIBCXX_NUM_ARGS_PLUS_1 9 531169691Skan#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T9 532169691Skan#include _GLIBCXX_REPEAT_HEADER 533169691Skan#undef _GLIBCXX_T_NUM_ARGS_PLUS_1 534169691Skan#undef _GLIBCXX_NUM_ARGS_PLUS_1 535169691Skan#undef _GLIBCXX_REF_TEMPLATE_ARGS 536169691Skan#undef _GLIBCXX_REF_WRAP_PARAMS 537169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_U 538169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_U 539169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED 540169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS 541169691Skan#undef _GLIBCXX_TUPLE_ASSIGN 542169691Skan#undef _GLIBCXX_TUPLE_COPY_INIT 543169691Skan#undef _GLIBCXX_TUPLE_ADD_CREF 544169691Skan#undef _GLIBCXX_BIND_V_ARGS 545169691Skan#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS 546169691Skan#undef _GLIBCXX_MU_GET_TUPLE_ARGS 547169691Skan#undef _GLIBCXX_BIND_MEMBERS_INIT 548169691Skan#undef _GLIBCXX_BIND_MEMBERS 549169691Skan#undef _GLIBCXX_ARGS_SHIFTED 550169691Skan#undef _GLIBCXX_PARAMS_SHIFTED 551169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED 552169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED 553169691Skan#undef _GLIBCXX_COMMA_SHIFTED 554169691Skan#undef _GLIBCXX_ARGS 555169691Skan#undef _GLIBCXX_REF_PARAMS 556169691Skan#undef _GLIBCXX_PARAMS 557169691Skan#undef _GLIBCXX_TEMPLATE_ARGS 558169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS 559169691Skan#undef _GLIBCXX_COMMA 560169691Skan#undef _GLIBCXX_NUM_ARGS 561169691Skan#define _GLIBCXX_NUM_ARGS 9 562169691Skan#define _GLIBCXX_COMMA , 563169691Skan#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9 564169691Skan#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9 565169691Skan#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9 566169691Skan#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9 567169691Skan#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9 568169691Skan#define _GLIBCXX_COMMA_SHIFTED , 569169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8 570169691Skan#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8 571169691Skan#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8 572169691Skan#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8 573169691Skan#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; 574169691Skan#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) 575169691Skan#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) 576169691Skan#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 577169691Skan#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)) 578169691Skan#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 579169691Skan#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) 580169691Skan#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; 581169691Skan#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 582169691Skan#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 583169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8, typename _U9 584169691Skan#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8, _U9 585169691Skan#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6), ref(__a7), ref(__a8), ref(__a9) 586169691Skan#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&, _T7&, _T8&, _T9& 587169691Skan#define _GLIBCXX_NUM_ARGS_PLUS_1 10 588169691Skan#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T10 589169691Skan#include _GLIBCXX_REPEAT_HEADER 590169691Skan#undef _GLIBCXX_T_NUM_ARGS_PLUS_1 591169691Skan#undef _GLIBCXX_NUM_ARGS_PLUS_1 592169691Skan#undef _GLIBCXX_REF_TEMPLATE_ARGS 593169691Skan#undef _GLIBCXX_REF_WRAP_PARAMS 594169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_U 595169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_U 596169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED 597169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS 598169691Skan#undef _GLIBCXX_TUPLE_ASSIGN 599169691Skan#undef _GLIBCXX_TUPLE_COPY_INIT 600169691Skan#undef _GLIBCXX_TUPLE_ADD_CREF 601169691Skan#undef _GLIBCXX_BIND_V_ARGS 602169691Skan#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS 603169691Skan#undef _GLIBCXX_MU_GET_TUPLE_ARGS 604169691Skan#undef _GLIBCXX_BIND_MEMBERS_INIT 605169691Skan#undef _GLIBCXX_BIND_MEMBERS 606169691Skan#undef _GLIBCXX_ARGS_SHIFTED 607169691Skan#undef _GLIBCXX_PARAMS_SHIFTED 608169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED 609169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED 610169691Skan#undef _GLIBCXX_COMMA_SHIFTED 611169691Skan#undef _GLIBCXX_ARGS 612169691Skan#undef _GLIBCXX_REF_PARAMS 613169691Skan#undef _GLIBCXX_PARAMS 614169691Skan#undef _GLIBCXX_TEMPLATE_ARGS 615169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS 616169691Skan#undef _GLIBCXX_COMMA 617169691Skan#undef _GLIBCXX_NUM_ARGS 618169691Skan#define _GLIBCXX_LAST_INCLUDE 619169691Skan#define _GLIBCXX_NUM_ARGS 10 620169691Skan#define _GLIBCXX_COMMA , 621169691Skan#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10 622169691Skan#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10 623169691Skan#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10 624169691Skan#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10 625169691Skan#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10 626169691Skan#define _GLIBCXX_COMMA_SHIFTED , 627169691Skan#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9 628169691Skan#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9 629169691Skan#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9 630169691Skan#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9 631169691Skan#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; 632169691Skan#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) 633169691Skan#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) 634169691Skan#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 635169691Skan#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)) 636169691Skan#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 637169691Skan#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) 638169691Skan#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; 639169691Skan#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 640169691Skan#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 641169691Skan#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 642169691Skan#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8, _U9, _U10 643169691Skan#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) 644169691Skan#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&, _T7&, _T8&, _T9&, _T10& 645169691Skan#define _GLIBCXX_NUM_ARGS_PLUS_1 11 646169691Skan#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T11 647169691Skan#include _GLIBCXX_REPEAT_HEADER 648169691Skan#undef _GLIBCXX_T_NUM_ARGS_PLUS_1 649169691Skan#undef _GLIBCXX_NUM_ARGS_PLUS_1 650169691Skan#undef _GLIBCXX_REF_TEMPLATE_ARGS 651169691Skan#undef _GLIBCXX_REF_WRAP_PARAMS 652169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_U 653169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_U 654169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED 655169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS 656169691Skan#undef _GLIBCXX_TUPLE_ASSIGN 657169691Skan#undef _GLIBCXX_TUPLE_COPY_INIT 658169691Skan#undef _GLIBCXX_TUPLE_ADD_CREF 659169691Skan#undef _GLIBCXX_BIND_V_ARGS 660169691Skan#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS 661169691Skan#undef _GLIBCXX_MU_GET_TUPLE_ARGS 662169691Skan#undef _GLIBCXX_BIND_MEMBERS_INIT 663169691Skan#undef _GLIBCXX_BIND_MEMBERS 664169691Skan#undef _GLIBCXX_ARGS_SHIFTED 665169691Skan#undef _GLIBCXX_PARAMS_SHIFTED 666169691Skan#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED 667169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED 668169691Skan#undef _GLIBCXX_COMMA_SHIFTED 669169691Skan#undef _GLIBCXX_ARGS 670169691Skan#undef _GLIBCXX_REF_PARAMS 671169691Skan#undef _GLIBCXX_PARAMS 672169691Skan#undef _GLIBCXX_TEMPLATE_ARGS 673169691Skan#undef _GLIBCXX_TEMPLATE_PARAMS 674169691Skan#undef _GLIBCXX_COMMA 675169691Skan#undef _GLIBCXX_NUM_ARGS 676169691Skan#undef _GLIBCXX_LAST_INCLUDE 677169691Skan 678