blob: d5008e0e70d2285f8641698a1166bbaf5cdb76b3 [file] [log] [blame]
Jeff Thompsonf7d49942013-08-01 16:47:40 -07001
2// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
3// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000.
4// Use, modification and distribution are subject to the Boost Software License,
5// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6// http://www.boost.org/LICENSE_1_0.txt).
7//
8// See http://www.boost.org/libs/type_traits for most recent version including documentation.
9
Jeff Thompson3d613fd2013-10-15 15:39:04 -070010#if !defined(NDNBOOST_PP_IS_ITERATING)
Jeff Thompsonf7d49942013-08-01 16:47:40 -070011
12///// header body
13
Jeff Thompson3d613fd2013-10-15 15:39:04 -070014#ifndef NDNBOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
15#define NDNBOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
Jeff Thompsonf7d49942013-08-01 16:47:40 -070016
Jeff Thompson2277ce52013-08-01 17:34:11 -070017#include <ndnboost/config.hpp>
Jeff Thompsonf7d49942013-08-01 16:47:40 -070018
Jeff Thompson3d613fd2013-10-15 15:39:04 -070019#if defined(NDNBOOST_TT_PREPROCESSING_MODE)
Jeff Thompson2277ce52013-08-01 17:34:11 -070020# include <ndnboost/preprocessor/iterate.hpp>
21# include <ndnboost/preprocessor/enum_params.hpp>
22# include <ndnboost/preprocessor/comma_if.hpp>
Jeff Thompsonf7d49942013-08-01 16:47:40 -070023#endif
24
25namespace ndnboost {
26namespace type_traits {
27
28template <typename T>
29struct is_mem_fun_pointer_impl
30{
Jeff Thompson3d613fd2013-10-15 15:39:04 -070031 NDNBOOST_STATIC_CONSTANT(bool, value = false);
Jeff Thompsonf7d49942013-08-01 16:47:40 -070032};
33
Jeff Thompson3d613fd2013-10-15 15:39:04 -070034#if !defined(NDNBOOST_TT_PREPROCESSING_MODE)
Jeff Thompsonf7d49942013-08-01 16:47:40 -070035// pre-processed code, don't edit, try GNU cpp with
Jeff Thompson3d613fd2013-10-15 15:39:04 -070036// cpp -I../../../ -DNDNBOOST_TT_PREPROCESSING_MODE -x c++ -P filename
Jeff Thompsonf7d49942013-08-01 16:47:40 -070037
38template <class R, class T >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070039struct is_mem_fun_pointer_impl<R (T::*)() > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
40#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -070041template <class R, class T >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070042struct is_mem_fun_pointer_impl<R (T::*)( ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070043#endif
44
Jeff Thompson3d613fd2013-10-15 15:39:04 -070045#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -070046template <class R, class T >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070047struct is_mem_fun_pointer_impl<R (T::*)() const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070048
49template <class R, class T >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070050struct is_mem_fun_pointer_impl<R (T::*)() volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070051
52template <class R, class T >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070053struct is_mem_fun_pointer_impl<R (T::*)() const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070054
Jeff Thompson3d613fd2013-10-15 15:39:04 -070055#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -070056template <class R, class T >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070057struct is_mem_fun_pointer_impl<R (T::*)( ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070058
59template <class R, class T >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070060struct is_mem_fun_pointer_impl<R (T::*)( ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070061
62template <class R, class T >
Jeff Thompson3d613fd2013-10-15 15:39:04 -070063struct is_mem_fun_pointer_impl<R (T::*)( ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070064#endif
65#endif
66template <class R, class T , class T0>
Jeff Thompson3d613fd2013-10-15 15:39:04 -070067struct is_mem_fun_pointer_impl<R (T::*)( T0) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
68#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -070069template <class R, class T , class T0>
Jeff Thompson3d613fd2013-10-15 15:39:04 -070070struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070071#endif
72
Jeff Thompson3d613fd2013-10-15 15:39:04 -070073#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -070074template <class R, class T , class T0>
Jeff Thompson3d613fd2013-10-15 15:39:04 -070075struct is_mem_fun_pointer_impl<R (T::*)( T0) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070076
77template <class R, class T , class T0>
Jeff Thompson3d613fd2013-10-15 15:39:04 -070078struct is_mem_fun_pointer_impl<R (T::*)( T0) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070079
80template <class R, class T , class T0>
Jeff Thompson3d613fd2013-10-15 15:39:04 -070081struct is_mem_fun_pointer_impl<R (T::*)( T0) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070082
Jeff Thompson3d613fd2013-10-15 15:39:04 -070083#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -070084template <class R, class T , class T0>
Jeff Thompson3d613fd2013-10-15 15:39:04 -070085struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070086
87template <class R, class T , class T0>
Jeff Thompson3d613fd2013-10-15 15:39:04 -070088struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070089
90template <class R, class T , class T0>
Jeff Thompson3d613fd2013-10-15 15:39:04 -070091struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070092#endif
93#endif
94template <class R, class T , class T0 , class T1>
Jeff Thompson3d613fd2013-10-15 15:39:04 -070095struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
96#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -070097template <class R, class T , class T0 , class T1>
Jeff Thompson3d613fd2013-10-15 15:39:04 -070098struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -070099#endif
100
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700101#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700102template <class R, class T , class T0 , class T1>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700103struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700104
105template <class R, class T , class T0 , class T1>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700106struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700107
108template <class R, class T , class T0 , class T1>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700109struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700110
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700111#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700112template <class R, class T , class T0 , class T1>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700113struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700114
115template <class R, class T , class T0 , class T1>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700116struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700117
118template <class R, class T , class T0 , class T1>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700119struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700120#endif
121#endif
122template <class R, class T , class T0 , class T1 , class T2>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700123struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
124#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700125template <class R, class T , class T0 , class T1 , class T2>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700126struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700127#endif
128
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700129#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700130template <class R, class T , class T0 , class T1 , class T2>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700131struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700132
133template <class R, class T , class T0 , class T1 , class T2>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700134struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700135
136template <class R, class T , class T0 , class T1 , class T2>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700137struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700138
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700139#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700140template <class R, class T , class T0 , class T1 , class T2>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700141struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700142
143template <class R, class T , class T0 , class T1 , class T2>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700144struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700145
146template <class R, class T , class T0 , class T1 , class T2>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700147struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700148#endif
149#endif
150template <class R, class T , class T0 , class T1 , class T2 , class T3>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700151struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
152#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700153template <class R, class T , class T0 , class T1 , class T2 , class T3>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700154struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700155#endif
156
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700157#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700158template <class R, class T , class T0 , class T1 , class T2 , class T3>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700159struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700160
161template <class R, class T , class T0 , class T1 , class T2 , class T3>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700162struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700163
164template <class R, class T , class T0 , class T1 , class T2 , class T3>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700165struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700166
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700167#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700168template <class R, class T , class T0 , class T1 , class T2 , class T3>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700169struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700170
171template <class R, class T , class T0 , class T1 , class T2 , class T3>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700172struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700173
174template <class R, class T , class T0 , class T1 , class T2 , class T3>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700175struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700176#endif
177#endif
178template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700179struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
180#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700181template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700182struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700183#endif
184
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700185#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700186template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700187struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700188
189template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700190struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700191
192template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700193struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700194
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700195#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700196template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700197struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700198
199template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700200struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700201
202template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700203struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700204#endif
205#endif
206template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700207struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
208#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700209template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700210struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700211#endif
212
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700213#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700214template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700215struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700216
217template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700218struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700219
220template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700221struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700222
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700223#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700224template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700225struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700226
227template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700228struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700229
230template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700231struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700232#endif
233#endif
234template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700235struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
236#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700237template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700238struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700239#endif
240
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700241#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700242template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700243struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700244
245template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700246struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700247
248template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700249struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700250
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700251#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700252template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700253struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700254
255template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700256struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700257
258template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700259struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700260#endif
261#endif
262template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700263struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
264#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700265template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700266struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700267#endif
268
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700269#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700270template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700271struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700272
273template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700274struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700275
276template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700277struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700278
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700279#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700280template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700281struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700282
283template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700284struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700285
286template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700287struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700288#endif
289#endif
290template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700291struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
292#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700293template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700294struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700295#endif
296
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700297#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700298template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700299struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700300
301template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700302struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700303
304template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700305struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700306
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700307#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700308template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700309struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700310
311template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700312struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700313
314template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700315struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700316#endif
317#endif
318template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700319struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
320#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700321template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700322struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700323#endif
324
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700325#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700326template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700327struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700328
329template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700330struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700331
332template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700333struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700334
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700335#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700336template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700337struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700338
339template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700340struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700341
342template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700343struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700344#endif
345#endif
346template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700347struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
348#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700349template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700350struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700351#endif
352
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700353#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700354template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700355struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700356
357template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700358struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700359
360template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700361struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700362
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700363#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700364template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700365struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700366
367template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700368struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700369
370template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700371struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700372#endif
373#endif
374template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700375struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
376#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700377template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700378struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700379#endif
380
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700381#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700382template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700383struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700384
385template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700386struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700387
388template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700389struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700390
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700391#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700392template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700393struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700394
395template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700396struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700397
398template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700399struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700400#endif
401#endif
402template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700403struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
404#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700405template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700406struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700407#endif
408
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700409#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700410template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700411struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700412
413template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700414struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700415
416template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700417struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700418
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700419#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700420template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700421struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700422
423template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700424struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700425
426template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700427struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700428#endif
429#endif
430template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700431struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
432#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700433template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700434struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700435#endif
436
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700437#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700438template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700439struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700440
441template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700442struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700443
444template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700445struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700446
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700447#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700448template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700449struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700450
451template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700452struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700453
454template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700455struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700456#endif
457#endif
458template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700459struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
460#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700461template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700462struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700463#endif
464
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700465#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700466template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700467struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700468
469template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700470struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700471
472template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700473struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700474
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700475#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700476template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700477struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700478
479template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700480struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700481
482template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700483struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700484#endif
485#endif
486template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700487struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
488#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700489template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700490struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700491#endif
492
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700493#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700494template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700495struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700496
497template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700498struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700499
500template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700501struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700502
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700503#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700504template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700505struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700506
507template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700508struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700509
510template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700511struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700512#endif
513#endif
514template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700515struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
516#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700517template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700518struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700519#endif
520
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700521#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700522template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700523struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700524
525template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700526struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700527
528template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700529struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700530
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700531#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700532template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700533struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700534
535template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700536struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700537
538template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700539struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700540#endif
541#endif
542template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700543struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
544#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700545template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700546struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700547#endif
548
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700549#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700550template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700551struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700552
553template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700554struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700555
556template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700557struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700558
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700559#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700560template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700561struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700562
563template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700564struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700565
566template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700567struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700568#endif
569#endif
570template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700571struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
572#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700573template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700574struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700575#endif
576
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700577#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700578template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700579struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700580
581template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700582struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700583
584template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700585struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700586
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700587#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700588template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700589struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700590
591template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700592struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700593
594template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700595struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700596#endif
597#endif
598template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700599struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
600#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700601template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700602struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700603#endif
604
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700605#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700606template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700607struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700608
609template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700610struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700611
612template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700613struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700614
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700615#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700616template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700617struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700618
619template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700620struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700621
622template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700623struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700624#endif
625#endif
626template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700627struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
628#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700629template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700630struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700631#endif
632
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700633#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700634template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700635struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700636
637template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700638struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700639
640template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700641struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700642
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700643#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700644template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700645struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700646
647template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700648struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700649
650template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700651struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700652#endif
653#endif
654template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700655struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
656#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700657template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700658struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700659#endif
660
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700661#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700662template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700663struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700664
665template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700666struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700667
668template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700669struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700670
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700671#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700672template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700673struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700674
675template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700676struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700677
678template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700679struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700680#endif
681#endif
682template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700683struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
684#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700685template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700686struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700687#endif
688
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700689#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700690template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700691struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700692
693template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700694struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700695
696template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700697struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700698
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700699#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700700template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700701struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700702
703template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700704struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700705
706template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700707struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700708#endif
709#endif
710template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700711struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
712#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700713template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700714struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700715#endif
716
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700717#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700718template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700719struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700720
721template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700722struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700723
724template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700725struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700726
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700727#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700728template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700729struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700730
731template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700732struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700733
734template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700735struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700736#endif
737#endif
738template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700739struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
740#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700741template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700742struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700743#endif
744
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700745#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700746template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700747struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700748
749template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700750struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700751
752template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700753struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700754
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700755#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700756template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700757struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700758
759template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700760struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700761
762template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 , class T16 , class T17 , class T18 , class T19 , class T20 , class T21 , class T22 , class T23 , class T24>
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700763struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700764#endif
765#endif
766
767#else
768
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700769#undef NDNBOOST_STATIC_CONSTANT
770#define NDNBOOST_PP_ITERATION_PARAMS_1 \
Jeff Thompson2277ce52013-08-01 17:34:11 -0700771 (3, (0, 25, "ndnboost/type_traits/detail/is_mem_fun_pointer_impl.hpp"))
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700772#include NDNBOOST_PP_ITERATE()
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700773
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700774#endif // NDNBOOST_TT_PREPROCESSING_MODE
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700775
776} // namespace type_traits
777} // namespace ndnboost
778
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700779#endif // NDNBOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700780
781///// iteration
782
783#else
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700784#define NDNBOOST_PP_COUNTER NDNBOOST_PP_FRAME_ITERATION(1)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700785
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700786template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
787struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
788@#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
789template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
790struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700791@#endif
792
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700793@#if !defined(NDNBOOST_TT_NO_CV_FUNC_TEST)
794template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
795struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700796
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700797template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
798struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700799
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700800template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
801struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T)) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700802
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700803@#ifndef NDNBOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
804template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
805struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) const > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700806
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700807template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
808struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700809
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700810template <class R, class T NDNBOOST_PP_COMMA_IF(NDNBOOST_PP_COUNTER) NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,class T)>
811struct is_mem_fun_pointer_impl<R (T::*)(NDNBOOST_PP_ENUM_PARAMS(NDNBOOST_PP_COUNTER,T) ...) const volatile > { NDNBOOST_STATIC_CONSTANT(bool, value = true); };
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700812@#endif
813@#endif
814
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700815#undef NDNBOOST_PP_COUNTER
816#endif // NDNBOOST_PP_IS_ITERATING
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700817