annotate DEPENDENCIES/generic/include/boost/mpl/aux_/preprocessed/bcc551/bind.hpp @ 133:4acb5d8d80b6 tip

Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author Chris Cannam
date Tue, 30 Jul 2019 12:25:44 +0100
parents 2665513ce2d3
children
rev   line source
Chris@16 1
Chris@16 2 // Copyright Peter Dimov 2001
Chris@16 3 // Copyright Aleksey Gurtovoy 2001-2004
Chris@16 4 //
Chris@16 5 // Distributed under the Boost Software License, Version 1.0.
Chris@16 6 // (See accompanying file LICENSE_1_0.txt or copy at
Chris@16 7 // http://www.boost.org/LICENSE_1_0.txt)
Chris@16 8 //
Chris@16 9
Chris@16 10 // Preprocessed version of "boost/mpl/bind.hpp" header
Chris@16 11 // -- DO NOT modify by hand!
Chris@16 12
Chris@16 13 namespace boost { namespace mpl {
Chris@16 14
Chris@16 15 namespace aux {
Chris@16 16
Chris@16 17 template<
Chris@16 18 typename T, typename U1, typename U2, typename U3, typename U4
Chris@16 19 , typename U5
Chris@16 20 >
Chris@16 21 struct resolve_bind_arg
Chris@16 22 {
Chris@16 23 typedef T type;
Chris@16 24 };
Chris@16 25
Chris@16 26 template<
Chris@16 27 typename T
Chris@16 28 , typename Arg
Chris@16 29 >
Chris@16 30 struct replace_unnamed_arg
Chris@16 31 {
Chris@16 32 typedef Arg next;
Chris@16 33 typedef T type;
Chris@16 34 };
Chris@16 35
Chris@16 36 template<
Chris@16 37 typename Arg
Chris@16 38 >
Chris@16 39 struct replace_unnamed_arg< arg< -1 >, Arg >
Chris@16 40 {
Chris@16 41 typedef typename Arg::next next;
Chris@16 42 typedef Arg type;
Chris@16 43 };
Chris@16 44
Chris@16 45 template<
Chris@16 46 int N, typename U1, typename U2, typename U3, typename U4, typename U5
Chris@16 47 >
Chris@16 48 struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
Chris@16 49 {
Chris@16 50 typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
Chris@16 51 };
Chris@16 52
Chris@16 53 } // namespace aux
Chris@16 54
Chris@16 55 template<
Chris@16 56 typename F
Chris@16 57 >
Chris@16 58 struct bind0
Chris@16 59 {
Chris@16 60 template<
Chris@16 61 typename U1 = na, typename U2 = na, typename U3 = na
Chris@16 62 , typename U4 = na, typename U5 = na
Chris@16 63 >
Chris@16 64 struct apply
Chris@16 65 {
Chris@16 66 private:
Chris@16 67 typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
Chris@16 68 typedef typename r0::type a0;
Chris@16 69 typedef typename r0::next n1;
Chris@16 70 typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
Chris@16 71 ///
Chris@16 72 public:
Chris@16 73 typedef typename apply_wrap0<
Chris@16 74 f_
Chris@16 75 >::type type;
Chris@16 76
Chris@16 77 };
Chris@16 78 };
Chris@16 79
Chris@16 80 namespace aux {
Chris@16 81
Chris@16 82 template<
Chris@16 83 typename F, typename U1, typename U2, typename U3, typename U4
Chris@16 84 , typename U5
Chris@16 85 >
Chris@16 86 struct resolve_bind_arg<
Chris@16 87 bind0<F>, U1, U2, U3, U4, U5
Chris@16 88 >
Chris@16 89 {
Chris@16 90 typedef bind0<F> f_;
Chris@16 91 typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
Chris@16 92 };
Chris@16 93
Chris@16 94 } // namespace aux
Chris@16 95
Chris@16 96 BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
Chris@16 97 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
Chris@16 98
Chris@16 99 template<
Chris@16 100 typename F, typename T1
Chris@16 101 >
Chris@16 102 struct bind1
Chris@16 103 {
Chris@16 104 template<
Chris@16 105 typename U1 = na, typename U2 = na, typename U3 = na
Chris@16 106 , typename U4 = na, typename U5 = na
Chris@16 107 >
Chris@16 108 struct apply
Chris@16 109 {
Chris@16 110 private:
Chris@16 111 typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
Chris@16 112 typedef typename r0::type a0;
Chris@16 113 typedef typename r0::next n1;
Chris@16 114 typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
Chris@16 115 ///
Chris@16 116 typedef aux::replace_unnamed_arg< T1,n1 > r1;
Chris@16 117 typedef typename r1::type a1;
Chris@16 118 typedef typename r1::next n2;
Chris@16 119 typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
Chris@16 120 ///
Chris@16 121 public:
Chris@16 122 typedef typename apply_wrap1<
Chris@16 123 f_
Chris@16 124 , typename t1::type
Chris@16 125 >::type type;
Chris@16 126
Chris@16 127 };
Chris@16 128 };
Chris@16 129
Chris@16 130 namespace aux {
Chris@16 131
Chris@16 132 template<
Chris@16 133 typename F, typename T1, typename U1, typename U2, typename U3
Chris@16 134 , typename U4, typename U5
Chris@16 135 >
Chris@16 136 struct resolve_bind_arg<
Chris@16 137 bind1< F,T1 >, U1, U2, U3, U4, U5
Chris@16 138 >
Chris@16 139 {
Chris@16 140 typedef bind1< F,T1 > f_;
Chris@16 141 typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
Chris@16 142 };
Chris@16 143
Chris@16 144 } // namespace aux
Chris@16 145
Chris@16 146 BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
Chris@16 147 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
Chris@16 148
Chris@16 149 template<
Chris@16 150 typename F, typename T1, typename T2
Chris@16 151 >
Chris@16 152 struct bind2
Chris@16 153 {
Chris@16 154 template<
Chris@16 155 typename U1 = na, typename U2 = na, typename U3 = na
Chris@16 156 , typename U4 = na, typename U5 = na
Chris@16 157 >
Chris@16 158 struct apply
Chris@16 159 {
Chris@16 160 private:
Chris@16 161 typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
Chris@16 162 typedef typename r0::type a0;
Chris@16 163 typedef typename r0::next n1;
Chris@16 164 typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
Chris@16 165 ///
Chris@16 166 typedef aux::replace_unnamed_arg< T1,n1 > r1;
Chris@16 167 typedef typename r1::type a1;
Chris@16 168 typedef typename r1::next n2;
Chris@16 169 typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
Chris@16 170 ///
Chris@16 171 typedef aux::replace_unnamed_arg< T2,n2 > r2;
Chris@16 172 typedef typename r2::type a2;
Chris@16 173 typedef typename r2::next n3;
Chris@16 174 typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
Chris@16 175 ///
Chris@16 176 public:
Chris@16 177 typedef typename apply_wrap2<
Chris@16 178 f_
Chris@16 179 , typename t1::type, typename t2::type
Chris@16 180 >::type type;
Chris@16 181
Chris@16 182 };
Chris@16 183 };
Chris@16 184
Chris@16 185 namespace aux {
Chris@16 186
Chris@16 187 template<
Chris@16 188 typename F, typename T1, typename T2, typename U1, typename U2
Chris@16 189 , typename U3, typename U4, typename U5
Chris@16 190 >
Chris@16 191 struct resolve_bind_arg<
Chris@16 192 bind2< F,T1,T2 >, U1, U2, U3, U4, U5
Chris@16 193 >
Chris@16 194 {
Chris@16 195 typedef bind2< F,T1,T2 > f_;
Chris@16 196 typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
Chris@16 197 };
Chris@16 198
Chris@16 199 } // namespace aux
Chris@16 200
Chris@16 201 BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
Chris@16 202 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
Chris@16 203
Chris@16 204 template<
Chris@16 205 typename F, typename T1, typename T2, typename T3
Chris@16 206 >
Chris@16 207 struct bind3
Chris@16 208 {
Chris@16 209 template<
Chris@16 210 typename U1 = na, typename U2 = na, typename U3 = na
Chris@16 211 , typename U4 = na, typename U5 = na
Chris@16 212 >
Chris@16 213 struct apply
Chris@16 214 {
Chris@16 215 private:
Chris@16 216 typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
Chris@16 217 typedef typename r0::type a0;
Chris@16 218 typedef typename r0::next n1;
Chris@16 219 typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
Chris@16 220 ///
Chris@16 221 typedef aux::replace_unnamed_arg< T1,n1 > r1;
Chris@16 222 typedef typename r1::type a1;
Chris@16 223 typedef typename r1::next n2;
Chris@16 224 typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
Chris@16 225 ///
Chris@16 226 typedef aux::replace_unnamed_arg< T2,n2 > r2;
Chris@16 227 typedef typename r2::type a2;
Chris@16 228 typedef typename r2::next n3;
Chris@16 229 typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
Chris@16 230 ///
Chris@16 231 typedef aux::replace_unnamed_arg< T3,n3 > r3;
Chris@16 232 typedef typename r3::type a3;
Chris@16 233 typedef typename r3::next n4;
Chris@16 234 typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
Chris@16 235 ///
Chris@16 236 public:
Chris@16 237 typedef typename apply_wrap3<
Chris@16 238 f_
Chris@16 239 , typename t1::type, typename t2::type, typename t3::type
Chris@16 240 >::type type;
Chris@16 241
Chris@16 242 };
Chris@16 243 };
Chris@16 244
Chris@16 245 namespace aux {
Chris@16 246
Chris@16 247 template<
Chris@16 248 typename F, typename T1, typename T2, typename T3, typename U1
Chris@16 249 , typename U2, typename U3, typename U4, typename U5
Chris@16 250 >
Chris@16 251 struct resolve_bind_arg<
Chris@16 252 bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
Chris@16 253 >
Chris@16 254 {
Chris@16 255 typedef bind3< F,T1,T2,T3 > f_;
Chris@16 256 typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
Chris@16 257 };
Chris@16 258
Chris@16 259 } // namespace aux
Chris@16 260
Chris@16 261 BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
Chris@16 262 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
Chris@16 263
Chris@16 264 template<
Chris@16 265 typename F, typename T1, typename T2, typename T3, typename T4
Chris@16 266 >
Chris@16 267 struct bind4
Chris@16 268 {
Chris@16 269 template<
Chris@16 270 typename U1 = na, typename U2 = na, typename U3 = na
Chris@16 271 , typename U4 = na, typename U5 = na
Chris@16 272 >
Chris@16 273 struct apply
Chris@16 274 {
Chris@16 275 private:
Chris@16 276 typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
Chris@16 277 typedef typename r0::type a0;
Chris@16 278 typedef typename r0::next n1;
Chris@16 279 typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
Chris@16 280 ///
Chris@16 281 typedef aux::replace_unnamed_arg< T1,n1 > r1;
Chris@16 282 typedef typename r1::type a1;
Chris@16 283 typedef typename r1::next n2;
Chris@16 284 typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
Chris@16 285 ///
Chris@16 286 typedef aux::replace_unnamed_arg< T2,n2 > r2;
Chris@16 287 typedef typename r2::type a2;
Chris@16 288 typedef typename r2::next n3;
Chris@16 289 typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
Chris@16 290 ///
Chris@16 291 typedef aux::replace_unnamed_arg< T3,n3 > r3;
Chris@16 292 typedef typename r3::type a3;
Chris@16 293 typedef typename r3::next n4;
Chris@16 294 typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
Chris@16 295 ///
Chris@16 296 typedef aux::replace_unnamed_arg< T4,n4 > r4;
Chris@16 297 typedef typename r4::type a4;
Chris@16 298 typedef typename r4::next n5;
Chris@16 299 typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
Chris@16 300 ///
Chris@16 301 public:
Chris@16 302 typedef typename apply_wrap4<
Chris@16 303 f_
Chris@16 304 , typename t1::type, typename t2::type, typename t3::type
Chris@16 305 , typename t4::type
Chris@16 306 >::type type;
Chris@16 307
Chris@16 308 };
Chris@16 309 };
Chris@16 310
Chris@16 311 namespace aux {
Chris@16 312
Chris@16 313 template<
Chris@16 314 typename F, typename T1, typename T2, typename T3, typename T4
Chris@16 315 , typename U1, typename U2, typename U3, typename U4, typename U5
Chris@16 316 >
Chris@16 317 struct resolve_bind_arg<
Chris@16 318 bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
Chris@16 319 >
Chris@16 320 {
Chris@16 321 typedef bind4< F,T1,T2,T3,T4 > f_;
Chris@16 322 typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
Chris@16 323 };
Chris@16 324
Chris@16 325 } // namespace aux
Chris@16 326
Chris@16 327 BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
Chris@16 328 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
Chris@16 329
Chris@16 330 template<
Chris@16 331 typename F, typename T1, typename T2, typename T3, typename T4
Chris@16 332 , typename T5
Chris@16 333 >
Chris@16 334 struct bind5
Chris@16 335 {
Chris@16 336 template<
Chris@16 337 typename U1 = na, typename U2 = na, typename U3 = na
Chris@16 338 , typename U4 = na, typename U5 = na
Chris@16 339 >
Chris@16 340 struct apply
Chris@16 341 {
Chris@16 342 private:
Chris@16 343 typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
Chris@16 344 typedef typename r0::type a0;
Chris@16 345 typedef typename r0::next n1;
Chris@16 346 typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
Chris@16 347 ///
Chris@16 348 typedef aux::replace_unnamed_arg< T1,n1 > r1;
Chris@16 349 typedef typename r1::type a1;
Chris@16 350 typedef typename r1::next n2;
Chris@16 351 typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
Chris@16 352 ///
Chris@16 353 typedef aux::replace_unnamed_arg< T2,n2 > r2;
Chris@16 354 typedef typename r2::type a2;
Chris@16 355 typedef typename r2::next n3;
Chris@16 356 typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
Chris@16 357 ///
Chris@16 358 typedef aux::replace_unnamed_arg< T3,n3 > r3;
Chris@16 359 typedef typename r3::type a3;
Chris@16 360 typedef typename r3::next n4;
Chris@16 361 typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
Chris@16 362 ///
Chris@16 363 typedef aux::replace_unnamed_arg< T4,n4 > r4;
Chris@16 364 typedef typename r4::type a4;
Chris@16 365 typedef typename r4::next n5;
Chris@16 366 typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
Chris@16 367 ///
Chris@16 368 typedef aux::replace_unnamed_arg< T5,n5 > r5;
Chris@16 369 typedef typename r5::type a5;
Chris@16 370 typedef typename r5::next n6;
Chris@16 371 typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
Chris@16 372 ///
Chris@16 373 public:
Chris@16 374 typedef typename apply_wrap5<
Chris@16 375 f_
Chris@16 376 , typename t1::type, typename t2::type, typename t3::type
Chris@16 377 , typename t4::type, typename t5::type
Chris@16 378 >::type type;
Chris@16 379
Chris@16 380 };
Chris@16 381 };
Chris@16 382
Chris@16 383 namespace aux {
Chris@16 384
Chris@16 385 template<
Chris@16 386 typename F, typename T1, typename T2, typename T3, typename T4
Chris@16 387 , typename T5, typename U1, typename U2, typename U3, typename U4
Chris@16 388 , typename U5
Chris@16 389 >
Chris@16 390 struct resolve_bind_arg<
Chris@16 391 bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
Chris@16 392 >
Chris@16 393 {
Chris@16 394 typedef bind5< F,T1,T2,T3,T4,T5 > f_;
Chris@16 395 typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
Chris@16 396 };
Chris@16 397
Chris@16 398 } // namespace aux
Chris@16 399
Chris@16 400 BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
Chris@16 401 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
Chris@16 402 }}
Chris@16 403