annotate DEPENDENCIES/generic/include/boost/mpl/aux_/preprocessed/bcc/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 the main "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, typename U2, typename U3, typename U4, typename U5
Chris@16 62 >
Chris@16 63 struct apply
Chris@16 64 {
Chris@16 65 private:
Chris@16 66 typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
Chris@16 67 typedef typename r0::type a0;
Chris@16 68 typedef typename r0::next n1;
Chris@16 69 typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
Chris@16 70 ///
Chris@16 71 public:
Chris@16 72 typedef typename apply_wrap0<
Chris@16 73 f_
Chris@16 74 >::type type;
Chris@16 75
Chris@16 76 };
Chris@16 77 };
Chris@16 78
Chris@16 79 namespace aux {
Chris@16 80
Chris@16 81 template<
Chris@16 82 typename F, typename U1, typename U2, typename U3, typename U4
Chris@16 83 , typename U5
Chris@16 84 >
Chris@16 85 struct resolve_bind_arg<
Chris@16 86 bind0<F>, U1, U2, U3, U4, U5
Chris@16 87 >
Chris@16 88 {
Chris@16 89 typedef bind0<F> f_;
Chris@16 90 typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
Chris@16 91 };
Chris@16 92
Chris@16 93 } // namespace aux
Chris@16 94
Chris@16 95 BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
Chris@16 96 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
Chris@16 97
Chris@16 98 template<
Chris@16 99 typename F, typename T1
Chris@16 100 >
Chris@16 101 struct bind1
Chris@16 102 {
Chris@16 103 template<
Chris@16 104 typename U1, typename U2, typename U3, typename U4, typename U5
Chris@16 105 >
Chris@16 106 struct apply
Chris@16 107 {
Chris@16 108 private:
Chris@16 109 typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
Chris@16 110 typedef typename r0::type a0;
Chris@16 111 typedef typename r0::next n1;
Chris@16 112 typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
Chris@16 113 ///
Chris@16 114 typedef aux::replace_unnamed_arg< T1,n1 > r1;
Chris@16 115 typedef typename r1::type a1;
Chris@16 116 typedef typename r1::next n2;
Chris@16 117 typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
Chris@16 118 ///
Chris@16 119 public:
Chris@16 120 typedef typename apply_wrap1<
Chris@16 121 f_
Chris@16 122 , typename t1::type
Chris@16 123 >::type type;
Chris@16 124
Chris@16 125 };
Chris@16 126 };
Chris@16 127
Chris@16 128 namespace aux {
Chris@16 129
Chris@16 130 template<
Chris@16 131 typename F, typename T1, typename U1, typename U2, typename U3
Chris@16 132 , typename U4, typename U5
Chris@16 133 >
Chris@16 134 struct resolve_bind_arg<
Chris@16 135 bind1< F,T1 >, U1, U2, U3, U4, U5
Chris@16 136 >
Chris@16 137 {
Chris@16 138 typedef bind1< F,T1 > f_;
Chris@16 139 typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
Chris@16 140 };
Chris@16 141
Chris@16 142 } // namespace aux
Chris@16 143
Chris@16 144 BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
Chris@16 145 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
Chris@16 146
Chris@16 147 template<
Chris@16 148 typename F, typename T1, typename T2
Chris@16 149 >
Chris@16 150 struct bind2
Chris@16 151 {
Chris@16 152 template<
Chris@16 153 typename U1, typename U2, typename U3, typename U4, typename U5
Chris@16 154 >
Chris@16 155 struct apply
Chris@16 156 {
Chris@16 157 private:
Chris@16 158 typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
Chris@16 159 typedef typename r0::type a0;
Chris@16 160 typedef typename r0::next n1;
Chris@16 161 typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
Chris@16 162 ///
Chris@16 163 typedef aux::replace_unnamed_arg< T1,n1 > r1;
Chris@16 164 typedef typename r1::type a1;
Chris@16 165 typedef typename r1::next n2;
Chris@16 166 typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
Chris@16 167 ///
Chris@16 168 typedef aux::replace_unnamed_arg< T2,n2 > r2;
Chris@16 169 typedef typename r2::type a2;
Chris@16 170 typedef typename r2::next n3;
Chris@16 171 typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
Chris@16 172 ///
Chris@16 173 public:
Chris@16 174 typedef typename apply_wrap2<
Chris@16 175 f_
Chris@16 176 , typename t1::type, typename t2::type
Chris@16 177 >::type type;
Chris@16 178
Chris@16 179 };
Chris@16 180 };
Chris@16 181
Chris@16 182 namespace aux {
Chris@16 183
Chris@16 184 template<
Chris@16 185 typename F, typename T1, typename T2, typename U1, typename U2
Chris@16 186 , typename U3, typename U4, typename U5
Chris@16 187 >
Chris@16 188 struct resolve_bind_arg<
Chris@16 189 bind2< F,T1,T2 >, U1, U2, U3, U4, U5
Chris@16 190 >
Chris@16 191 {
Chris@16 192 typedef bind2< F,T1,T2 > f_;
Chris@16 193 typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
Chris@16 194 };
Chris@16 195
Chris@16 196 } // namespace aux
Chris@16 197
Chris@16 198 BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
Chris@16 199 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
Chris@16 200
Chris@16 201 template<
Chris@16 202 typename F, typename T1, typename T2, typename T3
Chris@16 203 >
Chris@16 204 struct bind3
Chris@16 205 {
Chris@16 206 template<
Chris@16 207 typename U1, typename U2, typename U3, typename U4, typename U5
Chris@16 208 >
Chris@16 209 struct apply
Chris@16 210 {
Chris@16 211 private:
Chris@16 212 typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
Chris@16 213 typedef typename r0::type a0;
Chris@16 214 typedef typename r0::next n1;
Chris@16 215 typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
Chris@16 216 ///
Chris@16 217 typedef aux::replace_unnamed_arg< T1,n1 > r1;
Chris@16 218 typedef typename r1::type a1;
Chris@16 219 typedef typename r1::next n2;
Chris@16 220 typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
Chris@16 221 ///
Chris@16 222 typedef aux::replace_unnamed_arg< T2,n2 > r2;
Chris@16 223 typedef typename r2::type a2;
Chris@16 224 typedef typename r2::next n3;
Chris@16 225 typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
Chris@16 226 ///
Chris@16 227 typedef aux::replace_unnamed_arg< T3,n3 > r3;
Chris@16 228 typedef typename r3::type a3;
Chris@16 229 typedef typename r3::next n4;
Chris@16 230 typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
Chris@16 231 ///
Chris@16 232 public:
Chris@16 233 typedef typename apply_wrap3<
Chris@16 234 f_
Chris@16 235 , typename t1::type, typename t2::type, typename t3::type
Chris@16 236 >::type type;
Chris@16 237
Chris@16 238 };
Chris@16 239 };
Chris@16 240
Chris@16 241 namespace aux {
Chris@16 242
Chris@16 243 template<
Chris@16 244 typename F, typename T1, typename T2, typename T3, typename U1
Chris@16 245 , typename U2, typename U3, typename U4, typename U5
Chris@16 246 >
Chris@16 247 struct resolve_bind_arg<
Chris@16 248 bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
Chris@16 249 >
Chris@16 250 {
Chris@16 251 typedef bind3< F,T1,T2,T3 > f_;
Chris@16 252 typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
Chris@16 253 };
Chris@16 254
Chris@16 255 } // namespace aux
Chris@16 256
Chris@16 257 BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
Chris@16 258 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
Chris@16 259
Chris@16 260 template<
Chris@16 261 typename F, typename T1, typename T2, typename T3, typename T4
Chris@16 262 >
Chris@16 263 struct bind4
Chris@16 264 {
Chris@16 265 template<
Chris@16 266 typename U1, typename U2, typename U3, typename U4, typename U5
Chris@16 267 >
Chris@16 268 struct apply
Chris@16 269 {
Chris@16 270 private:
Chris@16 271 typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
Chris@16 272 typedef typename r0::type a0;
Chris@16 273 typedef typename r0::next n1;
Chris@16 274 typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
Chris@16 275 ///
Chris@16 276 typedef aux::replace_unnamed_arg< T1,n1 > r1;
Chris@16 277 typedef typename r1::type a1;
Chris@16 278 typedef typename r1::next n2;
Chris@16 279 typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
Chris@16 280 ///
Chris@16 281 typedef aux::replace_unnamed_arg< T2,n2 > r2;
Chris@16 282 typedef typename r2::type a2;
Chris@16 283 typedef typename r2::next n3;
Chris@16 284 typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
Chris@16 285 ///
Chris@16 286 typedef aux::replace_unnamed_arg< T3,n3 > r3;
Chris@16 287 typedef typename r3::type a3;
Chris@16 288 typedef typename r3::next n4;
Chris@16 289 typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
Chris@16 290 ///
Chris@16 291 typedef aux::replace_unnamed_arg< T4,n4 > r4;
Chris@16 292 typedef typename r4::type a4;
Chris@16 293 typedef typename r4::next n5;
Chris@16 294 typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
Chris@16 295 ///
Chris@16 296 public:
Chris@16 297 typedef typename apply_wrap4<
Chris@16 298 f_
Chris@16 299 , typename t1::type, typename t2::type, typename t3::type
Chris@16 300 , typename t4::type
Chris@16 301 >::type type;
Chris@16 302
Chris@16 303 };
Chris@16 304 };
Chris@16 305
Chris@16 306 namespace aux {
Chris@16 307
Chris@16 308 template<
Chris@16 309 typename F, typename T1, typename T2, typename T3, typename T4
Chris@16 310 , typename U1, typename U2, typename U3, typename U4, typename U5
Chris@16 311 >
Chris@16 312 struct resolve_bind_arg<
Chris@16 313 bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
Chris@16 314 >
Chris@16 315 {
Chris@16 316 typedef bind4< F,T1,T2,T3,T4 > f_;
Chris@16 317 typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
Chris@16 318 };
Chris@16 319
Chris@16 320 } // namespace aux
Chris@16 321
Chris@16 322 BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
Chris@16 323 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
Chris@16 324
Chris@16 325 template<
Chris@16 326 typename F, typename T1, typename T2, typename T3, typename T4
Chris@16 327 , typename T5
Chris@16 328 >
Chris@16 329 struct bind5
Chris@16 330 {
Chris@16 331 template<
Chris@16 332 typename U1, typename U2, typename U3, typename U4, typename U5
Chris@16 333 >
Chris@16 334 struct apply
Chris@16 335 {
Chris@16 336 private:
Chris@16 337 typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
Chris@16 338 typedef typename r0::type a0;
Chris@16 339 typedef typename r0::next n1;
Chris@16 340 typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
Chris@16 341 ///
Chris@16 342 typedef aux::replace_unnamed_arg< T1,n1 > r1;
Chris@16 343 typedef typename r1::type a1;
Chris@16 344 typedef typename r1::next n2;
Chris@16 345 typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
Chris@16 346 ///
Chris@16 347 typedef aux::replace_unnamed_arg< T2,n2 > r2;
Chris@16 348 typedef typename r2::type a2;
Chris@16 349 typedef typename r2::next n3;
Chris@16 350 typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
Chris@16 351 ///
Chris@16 352 typedef aux::replace_unnamed_arg< T3,n3 > r3;
Chris@16 353 typedef typename r3::type a3;
Chris@16 354 typedef typename r3::next n4;
Chris@16 355 typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
Chris@16 356 ///
Chris@16 357 typedef aux::replace_unnamed_arg< T4,n4 > r4;
Chris@16 358 typedef typename r4::type a4;
Chris@16 359 typedef typename r4::next n5;
Chris@16 360 typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
Chris@16 361 ///
Chris@16 362 typedef aux::replace_unnamed_arg< T5,n5 > r5;
Chris@16 363 typedef typename r5::type a5;
Chris@16 364 typedef typename r5::next n6;
Chris@16 365 typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
Chris@16 366 ///
Chris@16 367 public:
Chris@16 368 typedef typename apply_wrap5<
Chris@16 369 f_
Chris@16 370 , typename t1::type, typename t2::type, typename t3::type
Chris@16 371 , typename t4::type, typename t5::type
Chris@16 372 >::type type;
Chris@16 373
Chris@16 374 };
Chris@16 375 };
Chris@16 376
Chris@16 377 namespace aux {
Chris@16 378
Chris@16 379 template<
Chris@16 380 typename F, typename T1, typename T2, typename T3, typename T4
Chris@16 381 , typename T5, typename U1, typename U2, typename U3, typename U4
Chris@16 382 , typename U5
Chris@16 383 >
Chris@16 384 struct resolve_bind_arg<
Chris@16 385 bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
Chris@16 386 >
Chris@16 387 {
Chris@16 388 typedef bind5< F,T1,T2,T3,T4,T5 > f_;
Chris@16 389 typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
Chris@16 390 };
Chris@16 391
Chris@16 392 } // namespace aux
Chris@16 393
Chris@16 394 BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
Chris@16 395 BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
Chris@16 396 }}
Chris@16 397