1 /*============================================================================== 2 Copyright (c) 2005-2010 Joel de Guzman 3 Copyright (c) 2010 Thomas Heller 4 5 Distributed under the Boost Software License, Version 1.0. (See accompanying 6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 ==============================================================================*/ 8 9 10 11 12 13 14 15 template < 16 typename Try 17 18 19 > 20 struct try_catch< 21 Try 22 23 24 > 25 : expr_ext< 26 try_catch_actor 27 , tag::try_catch 28 , Try 29 30 > 31 {}; 32 33 34 35 36 37 38 39 40 template < 41 typename Try 42 , 43 typename A0 44 > 45 struct try_catch< 46 Try 47 , 48 A0 49 > 50 : expr_ext< 51 try_catch_actor 52 , tag::try_catch 53 , Try 54 , A0 55 > 56 {}; 57 58 59 60 61 62 63 64 65 template < 66 typename Try 67 , 68 typename A0 , typename A1 69 > 70 struct try_catch< 71 Try 72 , 73 A0 , A1 74 > 75 : expr_ext< 76 try_catch_actor 77 , tag::try_catch 78 , Try 79 , A0 , A1 80 > 81 {}; 82 83 84 85 86 87 88 89 90 template < 91 typename Try 92 , 93 typename A0 , typename A1 , typename A2 94 > 95 struct try_catch< 96 Try 97 , 98 A0 , A1 , A2 99 > 100 : expr_ext< 101 try_catch_actor 102 , tag::try_catch 103 , Try 104 , A0 , A1 , A2 105 > 106 {}; 107 108 109 110 111 112 113 114 115 template < 116 typename Try 117 , 118 typename A0 , typename A1 , typename A2 , typename A3 119 > 120 struct try_catch< 121 Try 122 , 123 A0 , A1 , A2 , A3 124 > 125 : expr_ext< 126 try_catch_actor 127 , tag::try_catch 128 , Try 129 , A0 , A1 , A2 , A3 130 > 131 {}; 132 133 134 135 136 137 138 139 140 template < 141 typename Try 142 , 143 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 144 > 145 struct try_catch< 146 Try 147 , 148 A0 , A1 , A2 , A3 , A4 149 > 150 : expr_ext< 151 try_catch_actor 152 , tag::try_catch 153 , Try 154 , A0 , A1 , A2 , A3 , A4 155 > 156 {}; 157 158 159 160 161 162 163 164 165 template < 166 typename Try 167 , 168 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 169 > 170 struct try_catch< 171 Try 172 , 173 A0 , A1 , A2 , A3 , A4 , A5 174 > 175 : expr_ext< 176 try_catch_actor 177 , tag::try_catch 178 , Try 179 , A0 , A1 , A2 , A3 , A4 , A5 180 > 181 {}; 182 183 184 185 186 187 188 189 190 template < 191 typename Try 192 , 193 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 194 > 195 struct try_catch< 196 Try 197 , 198 A0 , A1 , A2 , A3 , A4 , A5 , A6 199 > 200 : expr_ext< 201 try_catch_actor 202 , tag::try_catch 203 , Try 204 , A0 , A1 , A2 , A3 , A4 , A5 , A6 205 > 206 {}; 207 208 209 210 211 212 213 214 215 template < 216 typename Try 217 , 218 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 219 > 220 struct try_catch< 221 Try 222 , 223 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 224 > 225 : expr_ext< 226 try_catch_actor 227 , tag::try_catch 228 , Try 229 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 230 > 231 {}; 232 233 234 235 236 237 238 239 240 template < 241 typename Try 242 , 243 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 244 > 245 struct try_catch< 246 Try 247 , 248 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 249 > 250 : expr_ext< 251 try_catch_actor 252 , tag::try_catch 253 , Try 254 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 255 > 256 {}; 257 258 259 260 261 262 263 264 265 template < 266 typename Try 267 , 268 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 269 > 270 struct try_catch< 271 Try 272 , 273 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 274 > 275 : expr_ext< 276 try_catch_actor 277 , tag::try_catch 278 , Try 279 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 280 > 281 {}; 282 283