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