1#ifndef CLASSDESC_FUNCTIONDB10
2#define CLASSDESC_FUNCTIONDB10
3template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
4struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 1>
10template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
11struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 1>
17template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
18struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
27struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
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,
class A10>
34struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
41struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept, 1>
47template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
48struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 2>
54template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
55struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 2>
61template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
62struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
71struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
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,
class A10>
78struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
85struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept, 2>
91template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
92struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 3>
98template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
99struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 3>
105template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
106struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
115struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
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,
class A10>
122struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
129struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept, 3>
135template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
136struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 4>
142template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
143struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 4>
149template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
150struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
159struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
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,
class A10>
166struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
173struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept, 4>
179template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
180struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 5>
186template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
187struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 5>
193template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
194struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
203struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
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,
class A10>
210struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
217struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept, 5>
223template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
224struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 6>
230template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
231struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 6>
237template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
238struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
247struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
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,
class A10>
254struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
261struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept, 6>
267template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
268struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 7>
274template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
275struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 7>
281template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
282struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
291struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
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,
class A10>
298struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
305struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept, 7>
311template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
312struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 8>
318template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
319struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 8>
325template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
326struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
335struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
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,
class A10>
342struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
349struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept, 8>
355template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
356struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 9>
362template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
363struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 9>
369template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
370struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
379struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
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,
class A10>
386struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 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,
class A10>
393struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept, 9>
399template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
400struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 10>
406template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
407struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10), 10>
413template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
414struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const, 10>
420#if defined(__cplusplus) && __cplusplus>=201703L
422template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
423struct Arg<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
noexcept, 10>
429template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
430struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) noexcept, 10>
436template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
437struct Arg<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept, 10>
443template <
class F,
template<
class>
class P>
444struct AllArgs<F,P,10>
446 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 && P<typename Arg<F,10>::T>::value;
450template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
451struct Arity<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)>
453 static const int V=10;
454 static const int value=10;
457template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
458struct Return<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)>
464template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
465struct Arity<R (* C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)>
467 static const int V=10;
468 static const int value=10;
471template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
472struct Return<R (* C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)>
478template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
479struct Arity<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)>
481 static const int V=10;
482 static const int value=10;
485template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
486struct Return<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)>
492template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
493struct Arity<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const>
495 static const int V=10;
496 static const int value=10;
499template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
500struct Return<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const>
506template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
507struct ClassOf<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)>
513template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
514struct ClassOf<R (*C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)>
520template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
521struct ClassOf<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const>
527template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
528struct is_member_function_ptr<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)>
530 static const bool value=
true;
533template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
534struct is_member_function_ptr<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const>
536 static const bool value=
true;
539template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
540struct is_const_method<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const>
542 static const bool value=
true;
545template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
546struct is_nonmember_function_ptr<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)>
548 static const bool value=
true;
551template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
552struct is_nonmember_function_ptr<R (*C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)>
554 static const bool value=
true;
557template <
class C,
class D,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
558class bound_method<C, R (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)>
560 typedef R (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10);
564 static const int arity=10;
566 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
567 bound_method(C& obj, M method): obj(&obj), method(method) {}
568 typename enable_if<Not<classdesc::is_const<C> >, R>::T
569 operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9,A10 a10)
const {
return (obj->*method)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);}
570 void rebind(C& newObj) {obj=&newObj;}
571 static const bool is_const=
false;
574template <
class C,
class D,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
575class bound_method<const C, R (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)>
577 typedef R (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10);
581 static const int arity=10;
583 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
584 bound_method(
const C& obj, M method): obj(&obj), method(method) {}
585 R operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9,A10 a10)
const {
586 throw std::runtime_error(
"cannot call method, inappropriate argument type");
588 void rebind(C& newObj) {obj=&newObj;}
589 static const bool is_const=
false;
592template <
class C,
class D,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
593class bound_method<C, R (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const>
595 typedef R (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
const;
599 static const int arity=10;
601 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
602 bound_method(C& obj, M method): obj(obj), method(method) {}
603 R operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9,A10 a10)
const {
return (obj.*method)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);}
604 static const bool is_const=
true;
607#if defined(__cplusplus) && __cplusplus>=201703L
610template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
611struct Arity<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
noexcept>
613 static const int V=10;
614 static const int value=10;
617template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
618struct Return<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
noexcept>
624template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
625struct Arity<R (* C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
noexcept>
627 static const int V=10;
628 static const int value=10;
631template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
632struct Return<R (* C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
noexcept>
638template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
639struct Arity<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) noexcept>
641 static const int V=10;
642 static const int value=10;
645template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
646struct Return<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) noexcept>
652template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
653struct Arity<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept>
655 static const int V=10;
656 static const int value=10;
659template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
660struct Return<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept>
666template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
667struct ClassOf<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) noexcept>
673template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
674struct ClassOf<R (*C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
noexcept>
680template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
681struct ClassOf<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept>
687template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
688struct is_member_function_ptr<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) noexcept>
690 static const bool value=
true;
693template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
694struct is_member_function_ptr<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept>
696 static const bool value=
true;
699template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
700struct is_const_method<R (C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept>
702 static const bool value=
true;
705template <
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
706struct is_nonmember_function_ptr<R (*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
noexcept>
708 static const bool value=
true;
711template <
class C,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
712struct is_nonmember_function_ptr<R (*C::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
noexcept>
714 static const bool value=
true;
717template <
class C,
class D,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
718class bound_method<C, R (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) noexcept>
720 typedef R (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10);
724 static const int arity=10;
726 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
727 bound_method(C& obj, M method): obj(&obj), method(method) {}
728 typename enable_if<Not<classdesc::is_const<C> >, R>::T
729 operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9,A10 a10)
const {
return (obj->*method)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);}
730 void rebind(C& newObj) {obj=&newObj;}
731 static const bool is_const=
false;
734template <
class C,
class D,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
735class bound_method<C, void (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) noexcept>
737 typedef void (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10);
741 static const int arity=10;
743 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
744 bound_method(C& obj, M method): obj(&obj), method(method) {}
745 typename enable_if<Not<classdesc::is_const<C> > >::T
746 operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9,A10 a10)
const {(obj->*method)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);}
747 void rebind(C& newObj) {obj=&newObj;}
748 static const bool is_const=
false;
751template <
class C,
class D,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
752class bound_method<const C, R (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) noexcept>
754 typedef R (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10);
758 static const int arity=10;
760 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
761 bound_method(
const C& obj, M method): obj(&obj), method(method) {}
762 R operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9,A10 a10)
const {
763 throw std::runtime_error(
"cannot call method, inappropriate argument type");
765 void rebind(C& newObj) {obj=&newObj;}
766 static const bool is_const=
false;
769template <
class C,
class D,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
770class bound_method<const C, void (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) noexcept>
772 typedef void (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10);
776 static const int arity=10;
778 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
779 bound_method(
const C& obj, M method): obj(&obj), method(method) {}
780 typename enable_if<Not<classdesc::is_const<C> > >::T
781 operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9,A10 a10)
const {
782 throw std::runtime_error(
"cannot call method, inappropriate argument type");
784 void rebind(C& newObj) {obj=&newObj;}
785 static const bool is_const=
false;
788template <
class C,
class D,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
789class bound_method<C, R (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept>
791 typedef R (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
const;
795 static const int arity=10;
797 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
798 bound_method(C& obj, M method): obj(obj), method(method) {}
799 R operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9,A10 a10)
const {
return (obj.*method)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);}
800 static const bool is_const=
true;
803template <
class C,
class D,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10>
804class bound_method<C, void (D::*)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) const noexcept>
806 typedef void (D::*M)(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)
const;
810 static const int arity=10;
812 template <
int i>
struct Arg:
public functional::Arg<M,i> {};
813 bound_method(C& obj, M method): obj(obj), method(method) {}
814 void operator()(A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9,A10 a10)
const {(obj.*method)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);}
815 static const bool is_const=
true;
819template <
class F,
class Args>
820typename enable_if<And<AllArgs<F, is_rvalue>, Eq<Arity<F>::value, 10> >,
821 typename Return<F>::T>::T
822apply_nonvoid_fn(F f, Args& a, Fdummy<F> dum=0)
824 return f(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);
833template <
class F,
class Args>
834typename enable_if<And<AllArgs<F, is_rvalue>, Eq<Arity<F>::value, 10> >,
836apply_void_fn(F f, Args& a, Fdummy<F> dum=0)
838 f(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);
841template <
class Buffer,
class F>
842typename enable_if<Eq<Arity<F>::value, 10>,
typename Return<F>::T>::T
843callOnBuffer(Buffer& buffer, F f)
845 typename remove_const<typename remove_reference<typename Arg<F,1>::T>::type>::type a1;
847 typename remove_const<typename remove_reference<typename Arg<F,2>::T>::type>::type a2;
849 typename remove_const<typename remove_reference<typename Arg<F,3>::T>::type>::type a3;
851 typename remove_const<typename remove_reference<typename Arg<F,4>::T>::type>::type a4;
853 typename remove_const<typename remove_reference<typename Arg<F,5>::T>::type>::type a5;
855 typename remove_const<typename remove_reference<typename Arg<F,6>::T>::type>::type a6;
857 typename remove_const<typename remove_reference<typename Arg<F,7>::T>::type>::type a7;
859 typename remove_const<typename remove_reference<typename Arg<F,8>::T>::type>::type a8;
861 typename remove_const<typename remove_reference<typename Arg<F,9>::T>::type>::type a9;
863 typename remove_const<typename remove_reference<typename Arg<F,10>::T>::type>::type a10;
bound_method< C, R(D::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)>::Arg Definition functiondb10.h:566
bound_method< C, R(D::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) const >::Arg Definition functiondb10.h:601
bound_method< const C, R(D::*)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)>::Arg Definition functiondb10.h:583