1#ifndef CLASSDESC_FUNCTIONDB9
2#define CLASSDESC_FUNCTIONDB9
3template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
4struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 1>
10template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
11struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 1>
17template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
18struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const, 1>
24#if defined(__cplusplus) && __cplusplus>=201703L
26template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
27struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept, 1>
33template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
34struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept, 1>
40template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
41struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept, 1>
47template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
48struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 2>
54template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
55struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 2>
61template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
62struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const, 2>
68#if defined(__cplusplus) && __cplusplus>=201703L
70template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
71struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept, 2>
77template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
78struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept, 2>
84template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
85struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept, 2>
91template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
92struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 3>
98template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
99struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 3>
105template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
106struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const, 3>
112#if defined(__cplusplus) && __cplusplus>=201703L
114template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
115struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept, 3>
121template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
122struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept, 3>
128template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
129struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept, 3>
135template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
136struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 4>
142template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
143struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 4>
149template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
150struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const, 4>
156#if defined(__cplusplus) && __cplusplus>=201703L
158template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
159struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept, 4>
165template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
166struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept, 4>
172template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
173struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept, 4>
179template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
180struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 5>
186template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
187struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 5>
193template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
194struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const, 5>
200#if defined(__cplusplus) && __cplusplus>=201703L
202template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
203struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept, 5>
209template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
210struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept, 5>
216template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
217struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept, 5>
223template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
224struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 6>
230template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
231struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 6>
237template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
238struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const, 6>
244#if defined(__cplusplus) && __cplusplus>=201703L
246template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
247struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept, 6>
253template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
254struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept, 6>
260template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
261struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept, 6>
267template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
268struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 7>
274template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
275struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 7>
281template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
282struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const, 7>
288#if defined(__cplusplus) && __cplusplus>=201703L
290template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
291struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept, 7>
297template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
298struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept, 7>
304template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
305struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept, 7>
311template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
312struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 8>
318template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
319struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 8>
325template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
326struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const, 8>
332#if defined(__cplusplus) && __cplusplus>=201703L
334template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
335struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept, 8>
341template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
342struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept, 8>
348template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
349struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept, 8>
355template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
356struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 9>
362template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
363struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9), 9>
369template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
370struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const, 9>
376#if defined(__cplusplus) && __cplusplus>=201703L
378template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
379struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept, 9>
385template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
386struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept, 9>
392template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
393struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept, 9>
399template <
class F,
template<
class>
class P>
402 static const bool value=
true && P<typename Arg<F,1>::T>::value && P<typename Arg<F,2>::T>::value && P<typename Arg<F,3>::T>::value && P<typename Arg<F,4>::T>::value && P<typename Arg<F,5>::T>::value && P<typename Arg<F,6>::T>::value && P<typename Arg<F,7>::T>::value && P<typename Arg<F,8>::T>::value && P<typename Arg<F,9>::T>::value;
406template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
407struct Arity<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)>
409 static const int V=9;
410 static const int value=9;
413template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
414struct Return<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)>
420template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
421struct Arity<R (* C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)>
423 static const int V=9;
424 static const int value=9;
427template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
428struct Return<R (* C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)>
434template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
435struct Arity<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)>
437 static const int V=9;
438 static const int value=9;
441template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
442struct Return<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)>
448template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
449struct Arity<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const>
451 static const int V=9;
452 static const int value=9;
455template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
456struct Return<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const>
462template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
463struct ClassOf<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)>
469template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
470struct ClassOf<R (*C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)>
476template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
477struct ClassOf<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const>
483template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
484struct is_member_function_ptr<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)>
486 static const bool value=
true;
489template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
490struct is_member_function_ptr<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const>
492 static const bool value=
true;
495template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
496struct is_const_method<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const>
498 static const bool value=
true;
501template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
502struct is_nonmember_function_ptr<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)>
504 static const bool value=
true;
507template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
508struct is_nonmember_function_ptr<R (*C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)>
510 static const bool value=
true;
513template <
class C,
class D,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
514class bound_method<C, R (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)>
516 typedef R (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9);
520 static const int arity=9;
522 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
523 bound_method(C& obj, M method): obj(&obj), method(method) {}
524 typename enable_if<Not<classdesc::is_const<C> >, R>::T
525 operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9)
const {
return (obj->*method)(a1,a2,a3,a4,a5,a6,a7,a8,a9);}
526 void rebind(C& newObj) {obj=&newObj;}
527 static const bool is_const=
false;
530template <
class C,
class D,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
531class bound_method<const C, R (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)>
533 typedef R (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9);
537 static const int arity=9;
539 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
540 bound_method(
const C& obj, M method): obj(&obj), method(method) {}
541 R operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9)
const {
542 throw std::runtime_error(
"cannot call method, inappropriate argument type");
544 void rebind(C& newObj) {obj=&newObj;}
545 static const bool is_const=
false;
548template <
class C,
class D,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
549class bound_method<C, R (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const>
551 typedef R (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
const;
555 static const int arity=9;
557 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
558 bound_method(C& obj, M method): obj(obj), method(method) {}
559 R operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9)
const {
return (obj.*method)(a1,a2,a3,a4,a5,a6,a7,a8,a9);}
560 static const bool is_const=
true;
563#if defined(__cplusplus) && __cplusplus>=201703L
566template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
567struct Arity<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept>
569 static const int V=9;
570 static const int value=9;
573template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
574struct Return<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept>
580template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
581struct Arity<R (* C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept>
583 static const int V=9;
584 static const int value=9;
587template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
588struct Return<R (* C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept>
594template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
595struct Arity<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept>
597 static const int V=9;
598 static const int value=9;
601template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
602struct Return<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept>
608template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
609struct Arity<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept>
611 static const int V=9;
612 static const int value=9;
615template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
616struct Return<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept>
622template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
623struct ClassOf<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept>
629template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
630struct ClassOf<R (*C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept>
636template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
637struct ClassOf<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept>
643template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
644struct is_member_function_ptr<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept>
646 static const bool value=
true;
649template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
650struct is_member_function_ptr<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept>
652 static const bool value=
true;
655template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
656struct is_const_method<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept>
658 static const bool value=
true;
661template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
662struct is_nonmember_function_ptr<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept>
664 static const bool value=
true;
667template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
668struct is_nonmember_function_ptr<R (*C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
noexcept>
670 static const bool value=
true;
673template <
class C,
class D,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
674class bound_method<C, R (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept>
676 typedef R (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9);
680 static const int arity=9;
682 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
683 bound_method(C& obj, M method): obj(&obj), method(method) {}
684 typename enable_if<Not<classdesc::is_const<C> >, R>::T
685 operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9)
const {
return (obj->*method)(a1,a2,a3,a4,a5,a6,a7,a8,a9);}
686 void rebind(C& newObj) {obj=&newObj;}
687 static const bool is_const=
false;
690template <
class C,
class D,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
691class bound_method<C, void (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept>
693 typedef void (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9);
697 static const int arity=9;
699 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
700 bound_method(C& obj, M method): obj(&obj), method(method) {}
701 typename enable_if<Not<classdesc::is_const<C> > >::T
702 operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9)
const {(obj->*method)(a1,a2,a3,a4,a5,a6,a7,a8,a9);}
703 void rebind(C& newObj) {obj=&newObj;}
704 static const bool is_const=
false;
707template <
class C,
class D,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
708class bound_method<const C, R (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept>
710 typedef R (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9);
714 static const int arity=9;
716 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
717 bound_method(
const C& obj, M method): obj(&obj), method(method) {}
718 R operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9)
const {
719 throw std::runtime_error(
"cannot call method, inappropriate argument type");
721 void rebind(C& newObj) {obj=&newObj;}
722 static const bool is_const=
false;
725template <
class C,
class D,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
726class bound_method<const C, void (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) noexcept>
728 typedef void (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9);
732 static const int arity=9;
734 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
735 bound_method(
const C& obj, M method): obj(&obj), method(method) {}
736 typename enable_if<Not<classdesc::is_const<C> > >::T
737 operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9)
const {
738 throw std::runtime_error(
"cannot call method, inappropriate argument type");
740 void rebind(C& newObj) {obj=&newObj;}
741 static const bool is_const=
false;
744template <
class C,
class D,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
745class bound_method<C, R (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept>
747 typedef R (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
const;
751 static const int arity=9;
753 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
754 bound_method(C& obj, M method): obj(obj), method(method) {}
755 R operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9)
const {
return (obj.*method)(a1,a2,a3,a4,a5,a6,a7,a8,a9);}
756 static const bool is_const=
true;
759template <
class C,
class D,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9>
760class bound_method<C, void (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9) const noexcept>
762 typedef void (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9)
const;
766 static const int arity=9;
768 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
769 bound_method(C& obj, M method): obj(obj), method(method) {}
770 void operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9)
const {(obj.*method)(a1,a2,a3,a4,a5,a6,a7,a8,a9);}
771 static const bool is_const=
true;
775template <
class F,
class Args>
776typename enable_if<And<AllArgs<F, is_rvalue>, Eq<Arity<F>::value, 9> >,
777 typename Return<F>::T>::T
778apply_nonvoid_fn(F f, Args& a, Fdummy<F> dum=0)
780 return f(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);
789template <
class F,
class Args>
790typename enable_if<And<AllArgs<F, is_rvalue>, Eq<Arity<F>::value, 9> >,
792apply_void_fn(F f, Args& a, Fdummy<F> dum=0)
794 f(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);
797template <
class Buffer,
class F>
798typename enable_if<Eq<Arity<F>::value, 9>,
typename Return<F>::T>::T
799callOnBuffer(Buffer& buffer, F f)
801 typename remove_const<typename remove_reference<typename Arg<F,1>::T>::type>::type a1;
803 typename remove_const<typename remove_reference<typename Arg<F,2>::T>::type>::type a2;
805 typename remove_const<typename remove_reference<typename Arg<F,3>::T>::type>::type a3;
807 typename remove_const<typename remove_reference<typename Arg<F,4>::T>::type>::type a4;
809 typename remove_const<typename remove_reference<typename Arg<F,5>::T>::type>::type a5;
811 typename remove_const<typename remove_reference<typename Arg<F,6>::T>::type>::type a6;
813 typename remove_const<typename remove_reference<typename Arg<F,7>::T>::type>::type a7;
815 typename remove_const<typename remove_reference<typename Arg<F,8>::T>::type>::type a8;
817 typename remove_const<typename remove_reference<typename Arg<F,9>::T>::type>::type a9;
Definition functiondb9.h:557
Definition functiondb9.h:522
Definition functiondb9.h:539