forked from boostorg/type_traits
Merge branch 'develop'
This commit is contained in:
@ -96,25 +96,11 @@ public: // constants
|
||||
)
|
||||
);
|
||||
|
||||
#if defined(__GNUC__) &&\
|
||||
(__GNUC__ > 3) ||\
|
||||
(__GNUC__ == 3 && (__GNUC_MINOR__ > 2 ||\
|
||||
(__GNUC_MINOR__ == 2 && __GNUC_PATCHLEVEL__ >=3)))
|
||||
|
||||
private: // noncopyable
|
||||
|
||||
aligned_storage(const aligned_storage&);
|
||||
aligned_storage& operator=(const aligned_storage&);
|
||||
|
||||
#else // gcc less than 3.2.3
|
||||
|
||||
public: // _should_ be noncopyable, but GCC compiler emits error
|
||||
|
||||
aligned_storage(const aligned_storage&);
|
||||
aligned_storage& operator=(const aligned_storage&);
|
||||
|
||||
#endif // gcc < 3.2.3 workaround
|
||||
|
||||
public: // structors
|
||||
|
||||
aligned_storage()
|
||||
@ -132,35 +118,12 @@ public: // accessors
|
||||
return static_cast<type*>(this)->address();
|
||||
}
|
||||
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||
|
||||
const void* address() const
|
||||
{
|
||||
return static_cast<const type*>(this)->address();
|
||||
}
|
||||
|
||||
#else // MSVC6
|
||||
|
||||
const void* address() const;
|
||||
|
||||
#endif // MSVC6 workaround
|
||||
|
||||
};
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||
|
||||
// MSVC6 seems not to like inline functions with const void* returns, so we
|
||||
// declare the following here:
|
||||
|
||||
template <std::size_t S, std::size_t A>
|
||||
const void* aligned_storage<S,A>::address() const
|
||||
{
|
||||
return const_cast< aligned_storage<S,A>* >(this)->address();
|
||||
}
|
||||
|
||||
#endif // MSVC6 workaround
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
//
|
||||
// Make sure that is_pod recognises aligned_storage<>::type
|
||||
// as a POD (Note that aligned_storage<> itself is not a POD):
|
||||
@ -171,7 +134,6 @@ struct is_pod<boost::detail::aligned_storage::aligned_storage_imp<size_,alignmen
|
||||
{
|
||||
BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(true)
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
} // namespace boost
|
||||
|
@ -36,9 +36,7 @@ BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_const,T,T const)
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_const,T&,T&)
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
|
@ -37,9 +37,7 @@ BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_cv,T,T const volatile)
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_cv,T&,T&)
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
|
@ -20,37 +20,6 @@ namespace boost {
|
||||
|
||||
namespace detail {
|
||||
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && defined(BOOST_MSVC6_MEMBER_TEMPLATES)
|
||||
|
||||
template <bool x>
|
||||
struct reference_adder
|
||||
{
|
||||
template <typename T> struct result_
|
||||
{
|
||||
typedef T& type;
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct reference_adder<true>
|
||||
{
|
||||
template <typename T> struct result_
|
||||
{
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct add_reference_impl
|
||||
{
|
||||
typedef typename reference_adder<
|
||||
::boost::is_reference<T>::value
|
||||
>::template result_<T> result;
|
||||
|
||||
typedef typename result::type type;
|
||||
};
|
||||
|
||||
#else
|
||||
//
|
||||
// We can't filter out rvalue_references at the same level as
|
||||
// references or we get ambiguities from msvc:
|
||||
@ -76,11 +45,7 @@ struct add_reference_impl
|
||||
typedef typename add_reference_rvalue_layer<T>::type type;
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1(typename T,add_reference,T&,T&)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
// these full specialisations are always required:
|
||||
BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1(add_reference,void,void)
|
||||
|
@ -39,7 +39,7 @@ namespace type_traits_detail {
|
||||
struct add_rvalue_reference_helper
|
||||
{ typedef T type; };
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
||||
template <typename T>
|
||||
struct add_rvalue_reference_helper<T, true>
|
||||
{
|
||||
|
@ -36,9 +36,7 @@ BOOST_TT_AUX_TYPE_TRAIT_DEF1(add_volatile,T,T volatile)
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,add_volatile,T&,T&)
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
|
@ -90,13 +90,11 @@ BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(alignment_of,T,::boost::detail::alignment_of_impl
|
||||
|
||||
// references have to be treated specially, assume
|
||||
// that a reference is just a special pointer:
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
template <typename T>
|
||||
struct alignment_of<T&>
|
||||
: public alignment_of<T*>
|
||||
{
|
||||
};
|
||||
#endif
|
||||
#ifdef __BORLANDC__
|
||||
// long double gives an incorrect value of 10 (!)
|
||||
// unless we do this...
|
||||
|
@ -1,117 +0,0 @@
|
||||
|
||||
// Copyright 2001-2003 Aleksey Gurtovoy.
|
||||
// Use, modification and distribution are subject to the Boost Software License,
|
||||
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt).
|
||||
//
|
||||
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
|
||||
|
||||
#ifndef BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
|
||||
#define BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
|
||||
|
||||
#include <boost/mpl/aux_/lambda_support.hpp>
|
||||
#include <boost/config.hpp>
|
||||
|
||||
// these are needed regardless of BOOST_TT_NO_BROKEN_COMPILER_SPEC
|
||||
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
namespace boost { namespace detail {
|
||||
template< typename T > struct remove_const_impl { typedef T type; };
|
||||
template< typename T > struct remove_volatile_impl { typedef T type; };
|
||||
template< typename T > struct remove_pointer_impl { typedef T type; };
|
||||
template< typename T > struct remove_reference_impl { typedef T type; };
|
||||
typedef int invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces;
|
||||
}}
|
||||
#endif
|
||||
|
||||
// agurt, 27/jun/03: disable the workaround if user defined
|
||||
// BOOST_TT_NO_BROKEN_COMPILER_SPEC
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
||||
|| defined(BOOST_TT_NO_BROKEN_COMPILER_SPEC)
|
||||
|
||||
# define BOOST_TT_BROKEN_COMPILER_SPEC(T) /**/
|
||||
|
||||
#else
|
||||
|
||||
// same as BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1 macro, except that it
|
||||
// never gets #undef-ined
|
||||
# define BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(trait,spec,result) \
|
||||
template<> struct trait##_impl<spec> \
|
||||
{ \
|
||||
typedef result type; \
|
||||
}; \
|
||||
/**/
|
||||
|
||||
# define BOOST_TT_AUX_REMOVE_CONST_VOLATILE_RANK1_SPEC(T) \
|
||||
BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_const,T const,T) \
|
||||
BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_const,T const volatile,T volatile) \
|
||||
BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_volatile,T volatile,T) \
|
||||
BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_volatile,T const volatile,T const) \
|
||||
/**/
|
||||
|
||||
# define BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T) \
|
||||
BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*,T) \
|
||||
BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*const,T) \
|
||||
BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*volatile,T) \
|
||||
BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_pointer,T*const volatile,T) \
|
||||
BOOST_TT_AUX_BROKEN_TYPE_TRAIT_SPEC1(remove_reference,T&,T) \
|
||||
/**/
|
||||
|
||||
# define BOOST_TT_AUX_REMOVE_PTR_REF_RANK_2_SPEC(T) \
|
||||
BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T) \
|
||||
BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T const) \
|
||||
BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T volatile) \
|
||||
BOOST_TT_AUX_REMOVE_PTR_REF_RANK_1_SPEC(T const volatile) \
|
||||
/**/
|
||||
|
||||
# define BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T) \
|
||||
BOOST_TT_AUX_REMOVE_PTR_REF_RANK_2_SPEC(T) \
|
||||
BOOST_TT_AUX_REMOVE_CONST_VOLATILE_RANK1_SPEC(T) \
|
||||
/**/
|
||||
|
||||
# define BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T) \
|
||||
BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T*) \
|
||||
BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T const*) \
|
||||
BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T volatile*) \
|
||||
BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T const volatile*) \
|
||||
/**/
|
||||
|
||||
# define BOOST_TT_BROKEN_COMPILER_SPEC(T) \
|
||||
namespace boost { namespace detail { \
|
||||
typedef invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces \
|
||||
please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces; \
|
||||
BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T) \
|
||||
BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T) \
|
||||
BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T*) \
|
||||
BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T const*) \
|
||||
BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T volatile*) \
|
||||
BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T const volatile*) \
|
||||
}} \
|
||||
/**/
|
||||
|
||||
# include <boost/type_traits/detail/type_trait_undef.hpp>
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(bool)
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(char)
|
||||
#ifndef BOOST_NO_INTRINSIC_WCHAR_T
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(wchar_t)
|
||||
#endif
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(signed char)
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(unsigned char)
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(signed short)
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(unsigned short)
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(signed int)
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(unsigned int)
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(signed long)
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(unsigned long)
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(float)
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(double)
|
||||
//BOOST_TT_BROKEN_COMPILER_SPEC(long double)
|
||||
|
||||
// for backward compatibility
|
||||
#define BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(T) \
|
||||
BOOST_TT_BROKEN_COMPILER_SPEC(T) \
|
||||
/**/
|
||||
|
||||
#endif // BOOST_TT_BROKEN_COMPILER_SPEC_HPP_INCLUDED
|
@ -120,7 +120,7 @@ namespace type_traits_detail {
|
||||
typedef BOOST_TYPEOF_TPL(declval_b() ? declval_T() : declval_U()) type;
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) && __GNUC__ == 3 && (__GNUC_MINOR__ == 2 || __GNUC_MINOR__ == 3)
|
||||
#if defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ == 3
|
||||
public:
|
||||
void public_dummy_function_just_to_silence_warning();
|
||||
#endif
|
||||
|
@ -27,8 +27,6 @@
|
||||
#endif
|
||||
|
||||
# if (BOOST_WORKAROUND(__MWERKS__, < 0x3000) \
|
||||
|| BOOST_WORKAROUND(BOOST_MSVC, <= 1301) \
|
||||
|| !defined(__EDG_VERSION__) && BOOST_WORKAROUND(__GNUC__, < 3) \
|
||||
|| BOOST_WORKAROUND(__IBMCPP__, < 600 ) \
|
||||
|| BOOST_WORKAROUND(__BORLANDC__, < 0x5A0) \
|
||||
|| defined(__ghs) \
|
||||
@ -45,14 +43,6 @@
|
||||
# define BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION 1
|
||||
#endif
|
||||
|
||||
//
|
||||
// Define BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
// when we can't test for function types with elipsis:
|
||||
//
|
||||
#if BOOST_WORKAROUND(__GNUC__, < 3)
|
||||
# define BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
#endif
|
||||
|
||||
//
|
||||
// define BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
// when we want to test __stdcall etc function types with is_function etc
|
||||
|
@ -45,14 +45,6 @@
|
||||
enum { value = type::value }; \
|
||||
/**/
|
||||
# define BOOST_TT_AUX_BOOL_C_BASE(C)
|
||||
|
||||
#elif defined(BOOST_MSVC) && BOOST_MSVC < 1300
|
||||
|
||||
# define BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(C) \
|
||||
typedef ::boost::integral_constant<bool,C> base_; \
|
||||
using base_::value; \
|
||||
/**/
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
|
||||
|
@ -14,20 +14,12 @@
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
// implementation helper:
|
||||
|
||||
|
||||
#if !(BOOST_WORKAROUND(__GNUC__,== 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 2))
|
||||
namespace boost {
|
||||
namespace detail {
|
||||
#else
|
||||
#include <boost/type_traits/detail/yes_no_type.hpp>
|
||||
namespace boost {
|
||||
namespace type_traits {
|
||||
namespace gcc8503 {
|
||||
#endif
|
||||
|
||||
template <typename T> struct cv_traits_imp {};
|
||||
|
||||
@ -63,35 +55,8 @@ struct cv_traits_imp<const volatile T*>
|
||||
typedef T unqualified_type;
|
||||
};
|
||||
|
||||
#if BOOST_WORKAROUND(__GNUC__,== 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 2)
|
||||
// We have to exclude function pointers
|
||||
// (see http://gcc.gnu.org/bugzilla/show_bug.cgi?8503)
|
||||
yes_type mini_funcptr_tester(...);
|
||||
no_type mini_funcptr_tester(const volatile void*);
|
||||
|
||||
} // namespace gcc8503
|
||||
} // namespace type_traits
|
||||
|
||||
namespace detail {
|
||||
|
||||
// Use the implementation above for non function pointers
|
||||
template <typename T, unsigned Select
|
||||
= (unsigned)sizeof(::boost::type_traits::gcc8503::mini_funcptr_tester((T)0)) >
|
||||
struct cv_traits_imp : public ::boost::type_traits::gcc8503::cv_traits_imp<T> { };
|
||||
|
||||
// Functions are never cv-qualified
|
||||
template <typename T> struct cv_traits_imp<T*,1>
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(bool, is_const = false);
|
||||
BOOST_STATIC_CONSTANT(bool, is_volatile = false);
|
||||
typedef T unqualified_type;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
} // namespace detail
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
#endif // BOOST_TT_DETAIL_CV_TRAITS_IMPL_HPP_INCLUDED
|
||||
|
@ -36,7 +36,7 @@
|
||||
// warning C4804: '<' : unsafe use of type 'bool' in operation
|
||||
// warning C4805: '==' : unsafe mix of type 'bool' and type 'char' in operation
|
||||
// cannot find another implementation -> declared as system header to suppress these warnings.
|
||||
#if defined(__GNUC__) && ((__GNUC__==3 && __GNUC_MINOR__>=1) || (__GNUC__>3))
|
||||
#if defined(__GNUC__)
|
||||
# pragma GCC system_header
|
||||
#elif defined(BOOST_MSVC)
|
||||
# pragma warning ( push )
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include <boost/type_traits/detail/bool_trait_def.hpp>
|
||||
|
||||
// avoid warnings
|
||||
#if defined(__GNUC__) && ((__GNUC__==3 && __GNUC_MINOR__>=1) || (__GNUC__>3))
|
||||
#if defined(__GNUC__)
|
||||
# pragma GCC system_header
|
||||
#elif defined(BOOST_MSVC)
|
||||
# pragma warning ( push )
|
||||
|
@ -30,7 +30,7 @@
|
||||
// warning C4146: unary minus operator applied to unsigned type, result still unsigned
|
||||
// warning C4804: '-' : unsafe use of type 'bool' in operation
|
||||
// cannot find another implementation -> declared as system header to suppress these warnings.
|
||||
#if defined(__GNUC__) && ((__GNUC__==3 && __GNUC_MINOR__>=1) || (__GNUC__>3))
|
||||
#if defined(__GNUC__)
|
||||
# pragma GCC system_header
|
||||
#elif defined(BOOST_MSVC)
|
||||
# pragma warning ( push )
|
||||
|
@ -37,160 +37,108 @@ struct is_function_ptr_helper
|
||||
|
||||
template <class R >
|
||||
struct is_function_ptr_helper<R (*)()> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R >
|
||||
struct is_function_ptr_helper<R (*)( ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , class T0>
|
||||
struct is_function_ptr_helper<R (*)( T0)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0>
|
||||
struct is_function_ptr_helper<R (*)( T0 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , class T0 , class T1>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( 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)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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>
|
||||
struct is_function_ptr_helper<R (*)( 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 ...)> { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#else
|
||||
|
||||
#undef BOOST_STATIC_CONSTANT
|
||||
|
@ -36,575 +36,367 @@ no_type BOOST_TT_DECL is_function_ptr_tester(...);
|
||||
|
||||
template <class R >
|
||||
yes_type is_function_ptr_tester(R (*)());
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R >
|
||||
yes_type is_function_ptr_tester(R (*)( ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)());
|
||||
template <class R >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)());
|
||||
template <class R >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( ...));
|
||||
#endif
|
||||
template <class R >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)());
|
||||
template <class R >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( ...));
|
||||
#endif
|
||||
template <class R , class T0 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , class T0 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0));
|
||||
template <class R , class T0 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , class T0 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0));
|
||||
template <class R , class T0 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 ...));
|
||||
#endif
|
||||
template <class R , class T0 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0));
|
||||
template <class R , class T0 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , class T0 , class T1 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1));
|
||||
template <class R , class T0 , class T1 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , class T0 , class T1 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1));
|
||||
template <class R , class T0 , class T1 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1));
|
||||
template <class R , class T0 , class T1 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , class T0 , class T1 , class T2 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2));
|
||||
template <class R , class T0 , class T1 , class T2 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , class T0 , class T1 , class T2 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2));
|
||||
template <class R , class T0 , class T1 , class T2 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2));
|
||||
template <class R , class T0 , class T1 , class T2 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
|
||||
#endif
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11));
|
||||
template <class R , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( 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));
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (*)( 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 ...));
|
||||
#endif
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( 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));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)( 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 ...));
|
||||
#ifndef _MANAGED
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( 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));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)( 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 ...));
|
||||
#endif
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( 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));
|
||||
template <class R , 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 >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)( 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 ...));
|
||||
#endif
|
||||
#else
|
||||
|
||||
@ -636,18 +428,12 @@ yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) .
|
||||
@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
|
||||
template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
|
||||
@#ifndef _MANAGED
|
||||
template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
|
||||
template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
|
||||
yes_type is_function_ptr_tester(R (__fastcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
|
||||
@#endif
|
||||
template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
|
||||
template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
|
||||
yes_type is_function_ptr_tester(R (__cdecl*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...));
|
||||
@#endif
|
||||
|
||||
#undef BOOST_PP_COUNTER
|
||||
|
@ -37,10 +37,8 @@ struct is_mem_fun_pointer_impl
|
||||
|
||||
template <class R, class T >
|
||||
struct is_mem_fun_pointer_impl<R (T::*)() > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T >
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <class R, class T >
|
||||
@ -52,7 +50,6 @@ struct is_mem_fun_pointer_impl<R (T::*)() volatile > { BOOST_STATIC_CONSTANT(boo
|
||||
template <class R, class T >
|
||||
struct is_mem_fun_pointer_impl<R (T::*)() const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T >
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -62,13 +59,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( ...) volatile > { BOOST_STATIC_CONSTANT
|
||||
template <class R, class T >
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <class R, class T , class T0>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <class R, class T , class T0>
|
||||
@ -80,7 +74,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0) volatile > { BOOST_STATIC_CONSTANT(
|
||||
template <class R, class T , class T0>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -90,13 +83,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) volatile > { BOOST_STATIC_CONST
|
||||
template <class R, class T , class T0>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <class R, class T , class T0 , class T1>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <class R, class T , class T0 , class T1>
|
||||
@ -108,7 +98,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) volatile > { BOOST_STATIC_CONS
|
||||
template <class R, class T , class T0 , class T1>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -118,13 +107,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) volatile > { BOOST_STATIC_
|
||||
template <class R, class T , class T0 , class T1>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <class R, class T , class T0 , class T1 , class T2>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <class R, class T , class T0 , class T1 , class T2>
|
||||
@ -136,7 +122,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) volatile > { BOOST_STATIC
|
||||
template <class R, class T , class T0 , class T1 , class T2>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -146,13 +131,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) volatile > { BOOST_ST
|
||||
template <class R, class T , class T0 , class T1 , class T2>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3>
|
||||
@ -164,7 +146,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) volatile > { BOOST_S
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -174,13 +155,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) volatile > { BOO
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
|
||||
@ -192,7 +170,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) volatile > { BO
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -202,13 +179,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) volatile >
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
|
||||
@ -220,7 +194,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) volatile >
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -230,13 +203,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) volati
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
|
||||
@ -248,7 +218,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) volat
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -258,13 +227,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) v
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
|
||||
@ -276,7 +242,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -286,13 +251,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 .
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
|
||||
@ -304,7 +266,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -314,13 +275,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
|
||||
@ -332,7 +290,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -342,13 +299,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <class R, class T , class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -360,7 +314,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -370,13 +323,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -388,7 +338,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -398,13 +347,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -416,7 +362,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -426,13 +371,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -444,7 +386,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -454,13 +395,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -472,7 +410,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -482,13 +419,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ...) const volatile > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -500,7 +434,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ...) const > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -510,13 +443,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -528,7 +458,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -538,13 +467,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct 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) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -556,7 +482,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -566,13 +491,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct 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) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -584,7 +506,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -594,13 +515,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct 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) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -612,7 +530,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -622,13 +539,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct 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) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -640,7 +554,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -650,13 +563,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct 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) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -668,7 +578,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -678,13 +587,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct 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) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -696,7 +602,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -706,13 +611,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct 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) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -724,7 +626,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -734,13 +635,10 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
template <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>
|
||||
struct 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) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 ...) > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_TT_NO_CV_FUNC_TEST)
|
||||
template <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>
|
||||
@ -752,7 +650,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
|
||||
@ -762,7 +659,6 @@ struct is_mem_fun_pointer_impl<R (T::*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 ,
|
||||
template <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>
|
||||
struct 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 > { BOOST_STATIC_CONSTANT(bool, value = true); };
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -18,24 +18,16 @@
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
#if !defined(BOOST_MSVC) || BOOST_MSVC >= 1300
|
||||
# define BOOST_TT_AUX_SIZE_T_BASE(C) public ::boost::integral_constant<std::size_t,C>
|
||||
# define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) /**/
|
||||
#else
|
||||
# define BOOST_TT_AUX_SIZE_T_BASE(C) public ::boost::mpl::size_t<C>
|
||||
# define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
|
||||
typedef ::boost::mpl::size_t<C> base_; \
|
||||
using base_::value; \
|
||||
/**/
|
||||
#endif
|
||||
// Obsolete. Remove.
|
||||
#define BOOST_TT_AUX_SIZE_T_BASE(C) public ::boost::integral_constant<std::size_t,C>
|
||||
#define BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) /**/
|
||||
|
||||
|
||||
#define BOOST_TT_AUX_SIZE_T_TRAIT_DEF1(trait,T,C) \
|
||||
template< typename T > struct trait \
|
||||
: BOOST_TT_AUX_SIZE_T_BASE(C) \
|
||||
: public ::boost::integral_constant<std::size_t,C> \
|
||||
{ \
|
||||
public:\
|
||||
BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,trait,(T)) \
|
||||
}; \
|
||||
\
|
||||
@ -44,17 +36,16 @@ BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,trait) \
|
||||
|
||||
#define BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1(trait,spec,C) \
|
||||
template<> struct trait<spec> \
|
||||
: BOOST_TT_AUX_SIZE_T_BASE(C) \
|
||||
: public ::boost::integral_constant<std::size_t,C> \
|
||||
{ \
|
||||
public:\
|
||||
BOOST_TT_AUX_SIZE_T_TRAIT_VALUE_DECL(C) \
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(1,trait,(spec)) \
|
||||
}; \
|
||||
/**/
|
||||
|
||||
#define BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1(param,trait,spec,C) \
|
||||
template< param > struct trait<spec> \
|
||||
: BOOST_TT_AUX_SIZE_T_BASE(C) \
|
||||
: public ::boost::integral_constant<std::size_t,C> \
|
||||
{ \
|
||||
}; \
|
||||
/**/
|
||||
|
@ -31,7 +31,7 @@ struct extent_imp
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(std::size_t, value = 0);
|
||||
};
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
|
||||
#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
|
||||
template <class T, std::size_t R, std::size_t N>
|
||||
struct extent_imp<T[R], N>
|
||||
{
|
||||
@ -131,10 +131,6 @@ template <class T, std::size_t N = 0>
|
||||
struct extent
|
||||
: public ::boost::integral_constant<std::size_t, ::boost::detail::extent_imp<T,N>::value>
|
||||
{
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||
typedef ::boost::integral_constant<std::size_t, ::boost::detail::extent_imp<T,N>::value> base_;
|
||||
using base_::value;
|
||||
#endif
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,extent,(T))
|
||||
};
|
||||
|
||||
|
@ -15,7 +15,6 @@
|
||||
|
||||
namespace boost {
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
namespace detail {
|
||||
|
||||
template<typename Function> struct function_traits_helper;
|
||||
@ -170,67 +169,6 @@ struct function_traits :
|
||||
{
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
namespace detail {
|
||||
|
||||
template<unsigned N>
|
||||
struct type_of_size
|
||||
{
|
||||
char elements[N];
|
||||
};
|
||||
|
||||
template<typename R>
|
||||
type_of_size<1> function_arity_helper(R (*f)());
|
||||
|
||||
template<typename R, typename T1>
|
||||
type_of_size<2> function_arity_helper(R (*f)(T1));
|
||||
|
||||
template<typename R, typename T1, typename T2>
|
||||
type_of_size<3> function_arity_helper(R (*f)(T1, T2));
|
||||
|
||||
template<typename R, typename T1, typename T2, typename T3>
|
||||
type_of_size<4> function_arity_helper(R (*f)(T1, T2, T3));
|
||||
|
||||
template<typename R, typename T1, typename T2, typename T3, typename T4>
|
||||
type_of_size<5> function_arity_helper(R (*f)(T1, T2, T3, T4));
|
||||
|
||||
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
||||
typename T5>
|
||||
type_of_size<6> function_arity_helper(R (*f)(T1, T2, T3, T4, T5));
|
||||
|
||||
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
||||
typename T5, typename T6>
|
||||
type_of_size<7> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6));
|
||||
|
||||
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
||||
typename T5, typename T6, typename T7>
|
||||
type_of_size<8> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7));
|
||||
|
||||
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
||||
typename T5, typename T6, typename T7, typename T8>
|
||||
type_of_size<9> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7, T8));
|
||||
|
||||
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
||||
typename T5, typename T6, typename T7, typename T8, typename T9>
|
||||
type_of_size<10> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7, T8,
|
||||
T9));
|
||||
|
||||
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
||||
typename T5, typename T6, typename T7, typename T8, typename T9,
|
||||
typename T10>
|
||||
type_of_size<11> function_arity_helper(R (*f)(T1, T2, T3, T4, T5, T6, T7, T8,
|
||||
T9, T10));
|
||||
} // end namespace detail
|
||||
|
||||
// Won't work with references
|
||||
template<typename Function>
|
||||
struct function_traits
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(unsigned, arity = (sizeof(boost::detail::function_arity_helper((Function*)0))-1));
|
||||
};
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
}
|
||||
|
||||
#endif // BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED
|
||||
|
@ -9,6 +9,11 @@
|
||||
#ifndef BOOST_TT_HAS_LOGICAL_NOT_HPP_INCLUDED
|
||||
#define BOOST_TT_HAS_LOGICAL_NOT_HPP_INCLUDED
|
||||
|
||||
#if defined(__GNUC__) && (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ > 40800)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunused-value"
|
||||
#endif
|
||||
|
||||
#define BOOST_TT_TRAIT_NAME has_logical_not
|
||||
#define BOOST_TT_TRAIT_OP !
|
||||
#define BOOST_TT_FORBIDDEN_IF\
|
||||
@ -20,4 +25,8 @@
|
||||
#undef BOOST_TT_TRAIT_OP
|
||||
#undef BOOST_TT_FORBIDDEN_IF
|
||||
|
||||
#if defined(__GNUC__) && (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ > 40800)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
14
include/boost/type_traits/integral_constant.hpp
Executable file → Normal file
14
include/boost/type_traits/integral_constant.hpp
Executable file → Normal file
@ -24,24 +24,10 @@ struct integral_constant : public mpl::integral_c<T, val>
|
||||
|
||||
template<> struct integral_constant<bool,true> : public mpl::true_
|
||||
{
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||
# pragma warning(push)
|
||||
# pragma warning(disable:4097)
|
||||
typedef mpl::true_ base_;
|
||||
using base_::value;
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
typedef integral_constant<bool,true> type;
|
||||
};
|
||||
template<> struct integral_constant<bool,false> : public mpl::false_
|
||||
{
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||
# pragma warning(push)
|
||||
# pragma warning(disable:4097)
|
||||
typedef mpl::false_ base_;
|
||||
using base_::value;
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
typedef integral_constant<bool,false> type;
|
||||
};
|
||||
|
||||
|
@ -43,8 +43,7 @@ template<> struct need_promotion<unsigned short int> : public true_type {};
|
||||
|
||||
// Same set of integral types as in boost/type_traits/is_integral.hpp.
|
||||
// Please, keep in sync.
|
||||
#if (defined(BOOST_MSVC) && (BOOST_MSVC < 1300)) \
|
||||
|| (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
|
||||
#if (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
|
||||
|| (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))
|
||||
// TODO: common macro for this #if. Or better yet, PP SEQ of non-standard types.
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int8 )
|
||||
|
@ -109,8 +109,8 @@
|
||||
// # define BOOST_ALIGNMENT_OF(T) __alignof(T)
|
||||
|
||||
# if defined(_MSC_VER) && (_MSC_VER >= 1700)
|
||||
# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__has_trivial_move_constructor(T) || ::boost::is_pod<T>::value) && !::boost::is_volatile<T>::value)
|
||||
# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__has_trivial_move_assign(T) || ::boost::is_pod<T>::value) && ! ::boost::is_const<T>::value && !::boost::is_volatile<T>::value)
|
||||
# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__has_trivial_move_constructor(T) || ::boost::is_pod<T>::value) && !::boost::is_volatile<T>::value && !::boost::is_reference<T>::value)
|
||||
# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__has_trivial_move_assign(T) || ::boost::is_pod<T>::value) && ! ::boost::is_const<T>::value && !::boost::is_volatile<T>::value && !::boost::is_reference<T>::value)
|
||||
# endif
|
||||
|
||||
# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef BOOST_TT_IS_ABSTRACT_CLASS_HPP
|
||||
#define BOOST_TT_IS_ABSTRACT_CLASS_HPP
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
||||
#if defined(_MSC_VER)
|
||||
# pragma once
|
||||
#endif
|
||||
|
||||
|
@ -16,10 +16,6 @@
|
||||
|
||||
#include <boost/type_traits/config.hpp>
|
||||
|
||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# include <boost/type_traits/detail/yes_no_type.hpp>
|
||||
# include <boost/type_traits/detail/wrap.hpp>
|
||||
#endif
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
@ -30,7 +26,7 @@ namespace boost {
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,__is_array(T))
|
||||
#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
#else
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,false)
|
||||
#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,is_array,T[N],true)
|
||||
@ -45,45 +41,8 @@ BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_array,T const volatile[],t
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
namespace detail {
|
||||
|
||||
using ::boost::type_traits::yes_type;
|
||||
using ::boost::type_traits::no_type;
|
||||
using ::boost::type_traits::wrap;
|
||||
|
||||
template< typename T > T(* is_array_tester1(wrap<T>) )(wrap<T>);
|
||||
char BOOST_TT_DECL is_array_tester1(...);
|
||||
|
||||
template< typename T> no_type is_array_tester2(T(*)(wrap<T>));
|
||||
yes_type BOOST_TT_DECL is_array_tester2(...);
|
||||
|
||||
template< typename T >
|
||||
struct is_array_impl
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(bool, value =
|
||||
sizeof(::boost::detail::is_array_tester2(
|
||||
::boost::detail::is_array_tester1(
|
||||
::boost::type_traits::wrap<T>()
|
||||
)
|
||||
)) == 1
|
||||
);
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void const,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void volatile,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_array,void const volatile,false)
|
||||
#endif
|
||||
|
||||
} // namespace detail
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_array,T,::boost::detail::is_array_impl<T>::value)
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#include <boost/type_traits/detail/bool_trait_undef.hpp>
|
||||
|
@ -237,11 +237,9 @@ BOOST_TT_AUX_BOOL_TRAIT_DEF2(
|
||||
, (::boost::detail::is_base_and_derived_impl<Base,Derived>::value)
|
||||
)
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base&,Derived,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base,Derived&,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_and_derived,Base&,Derived&,false)
|
||||
#endif
|
||||
|
||||
#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610))
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename Base,is_base_and_derived,Base,Base,false)
|
||||
|
@ -38,11 +38,9 @@ BOOST_TT_AUX_BOOL_TRAIT_DEF2(
|
||||
, Derived
|
||||
, (::boost::detail::is_base_of_imp<Base, Derived>::value))
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base,Derived&,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived&,false)
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
|
@ -37,11 +37,9 @@ BOOST_TT_AUX_BOOL_TRAIT_DEF2(
|
||||
, Derived
|
||||
, (::boost::tr1::detail::is_base_of_imp<Base, Derived>::value))
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base,Derived&,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_base_of,Base&,Derived&,false)
|
||||
#endif
|
||||
|
||||
} } // namespace boost
|
||||
|
||||
|
@ -93,7 +93,6 @@ struct is_class_impl
|
||||
template <typename T>
|
||||
struct is_class_impl
|
||||
{
|
||||
# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
BOOST_STATIC_CONSTANT(bool, value =
|
||||
(::boost::type_traits::ice_and<
|
||||
::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value,
|
||||
@ -103,16 +102,6 @@ struct is_class_impl
|
||||
::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_function<T>::value >::value
|
||||
>::value));
|
||||
# else
|
||||
BOOST_STATIC_CONSTANT(bool, value =
|
||||
(::boost::type_traits::ice_and<
|
||||
::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_scalar<T>::value >::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value
|
||||
>::value));
|
||||
# endif
|
||||
};
|
||||
|
||||
# endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
|
||||
|
@ -24,7 +24,6 @@
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# include <boost/type_traits/detail/cv_traits_impl.hpp>
|
||||
# ifdef __GNUC__
|
||||
# include <boost/type_traits/is_reference.hpp>
|
||||
@ -32,12 +31,6 @@
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
|
||||
# include <boost/type_traits/remove_bounds.hpp>
|
||||
# endif
|
||||
#else
|
||||
# include <boost/type_traits/is_reference.hpp>
|
||||
# include <boost/type_traits/is_array.hpp>
|
||||
# include <boost/type_traits/detail/yes_no_type.hpp>
|
||||
# include <boost/type_traits/detail/false_result.hpp>
|
||||
#endif
|
||||
|
||||
// should be the last #include
|
||||
#include <boost/type_traits/detail/bool_trait_def.hpp>
|
||||
@ -48,7 +41,7 @@ namespace boost {
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,__is_const(T))
|
||||
|
||||
#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
#else
|
||||
|
||||
namespace detail{
|
||||
//
|
||||
@ -87,76 +80,8 @@ BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& volatile,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T& const volatile,false)
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) && (__GNUC__ < 3)
|
||||
// special case for gcc where illegally cv-qualified reference types can be
|
||||
// generated in some corner cases:
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T const,!(::boost::is_reference<T>::value))
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_const,T volatile const,!(::boost::is_reference<T>::value))
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
namespace detail {
|
||||
|
||||
using ::boost::type_traits::yes_type;
|
||||
using ::boost::type_traits::no_type;
|
||||
|
||||
yes_type is_const_tester(const volatile void*);
|
||||
no_type is_const_tester(volatile void *);
|
||||
|
||||
template <bool is_ref, bool array>
|
||||
struct is_const_helper
|
||||
: public ::boost::type_traits::false_result
|
||||
{
|
||||
};
|
||||
|
||||
template <>
|
||||
struct is_const_helper<false,false>
|
||||
{
|
||||
template <typename T> struct result_
|
||||
{
|
||||
static T* t;
|
||||
BOOST_STATIC_CONSTANT(bool, value = (
|
||||
sizeof(boost::detail::yes_type) == sizeof(boost::detail::is_const_tester(t))
|
||||
));
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct is_const_helper<false,true>
|
||||
{
|
||||
template <typename T> struct result_
|
||||
{
|
||||
static T t;
|
||||
BOOST_STATIC_CONSTANT(bool, value = (
|
||||
sizeof(boost::detail::yes_type) == sizeof(boost::detail::is_const_tester(&t))
|
||||
));
|
||||
};
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct is_const_impl
|
||||
: public is_const_helper<
|
||||
is_reference<T>::value
|
||||
, is_array<T>::value
|
||||
>::template result_<T>
|
||||
{
|
||||
};
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void,false)
|
||||
#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void const,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void volatile,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_const,void const volatile,true)
|
||||
#endif
|
||||
|
||||
} // namespace detail
|
||||
|
||||
//* is a type T declared const - is_const<T>
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_const,T,::boost::detail::is_const_impl<T>::value)
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#include <boost/type_traits/detail/bool_trait_undef.hpp>
|
||||
|
@ -52,44 +52,7 @@ namespace boost {
|
||||
|
||||
namespace detail {
|
||||
|
||||
// MS specific version:
|
||||
|
||||
#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
|
||||
|
||||
// This workaround is necessary to handle when From is void
|
||||
// which is normally taken care of by the partial specialization
|
||||
// of the is_convertible typename.
|
||||
using ::boost::type_traits::yes_type;
|
||||
using ::boost::type_traits::no_type;
|
||||
|
||||
template< typename From >
|
||||
struct does_conversion_exist
|
||||
{
|
||||
template< typename To > struct result_
|
||||
{
|
||||
static no_type BOOST_TT_DECL _m_check(...);
|
||||
static yes_type BOOST_TT_DECL _m_check(To);
|
||||
static typename add_lvalue_reference<From>::type _m_from;
|
||||
enum { value = sizeof( _m_check(_m_from) ) == sizeof(yes_type) };
|
||||
};
|
||||
};
|
||||
|
||||
template<>
|
||||
struct does_conversion_exist<void>
|
||||
{
|
||||
template< typename To > struct result_
|
||||
{
|
||||
enum { value = ::boost::is_void<To>::value };
|
||||
};
|
||||
};
|
||||
|
||||
template <typename From, typename To>
|
||||
struct is_convertible_basic_impl
|
||||
: public does_conversion_exist<From>::template result_<To>
|
||||
{
|
||||
};
|
||||
|
||||
#elif defined(__BORLANDC__) && (__BORLANDC__ < 0x560)
|
||||
#if defined(__BORLANDC__) && (__BORLANDC__ < 0x560)
|
||||
//
|
||||
// special version for Borland compilers
|
||||
// this version breaks when used for some
|
||||
@ -462,7 +425,6 @@ struct is_convertible_impl_dispatch
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2(is_convertible,void,void,true)
|
||||
#endif // BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename To,is_convertible,void,To,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void,false)
|
||||
#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||
@ -473,7 +435,6 @@ BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,v
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void volatile,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1(typename From,is_convertible,From,void const volatile,false)
|
||||
#endif
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
} // namespace detail
|
||||
|
||||
|
@ -14,19 +14,9 @@
|
||||
#include <boost/type_traits/config.hpp>
|
||||
#include <boost/type_traits/intrinsics.hpp>
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# include <boost/type_traits/remove_cv.hpp>
|
||||
# include <boost/type_traits/is_class.hpp>
|
||||
# include <boost/type_traits/add_reference.hpp>
|
||||
#else
|
||||
# include <boost/type_traits/is_reference.hpp>
|
||||
# include <boost/type_traits/is_pointer.hpp>
|
||||
# include <boost/type_traits/is_member_pointer.hpp>
|
||||
# include <boost/type_traits/is_array.hpp>
|
||||
# include <boost/type_traits/is_void.hpp>
|
||||
# include <boost/type_traits/detail/ice_and.hpp>
|
||||
# include <boost/type_traits/detail/ice_not.hpp>
|
||||
#endif
|
||||
|
||||
// should be always the last #include directive
|
||||
#include <boost/type_traits/detail/bool_trait_def.hpp>
|
||||
@ -41,7 +31,6 @@ namespace boost {
|
||||
|
||||
namespace detail {
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
#pragma warning(push)
|
||||
@ -130,82 +119,6 @@ struct is_empty_impl
|
||||
|
||||
#endif // __BORLANDC__
|
||||
|
||||
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
#ifdef BOOST_MSVC6_MEMBER_TEMPLATES
|
||||
|
||||
template <typename T>
|
||||
struct empty_helper_t1 : public T
|
||||
{
|
||||
empty_helper_t1();
|
||||
int i[256];
|
||||
};
|
||||
|
||||
struct empty_helper_t2 { int i[256]; };
|
||||
|
||||
template <typename T>
|
||||
struct empty_helper_base
|
||||
{
|
||||
enum { value = (sizeof(empty_helper_t1<T>) == sizeof(empty_helper_t2)) };
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct empty_helper_nonbase
|
||||
{
|
||||
enum { value = false };
|
||||
};
|
||||
|
||||
template <bool base>
|
||||
struct empty_helper_chooser
|
||||
{
|
||||
template <typename T> struct result_
|
||||
{
|
||||
typedef empty_helper_nonbase<T> type;
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct empty_helper_chooser<true>
|
||||
{
|
||||
template <typename T> struct result_
|
||||
{
|
||||
typedef empty_helper_base<T> type;
|
||||
};
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct is_empty_impl
|
||||
{
|
||||
typedef ::boost::detail::empty_helper_chooser<
|
||||
::boost::type_traits::ice_and<
|
||||
::boost::type_traits::ice_not< ::boost::is_reference<T>::value >::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_convertible<T,double>::value >::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_pointer<T>::value >::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_member_pointer<T>::value >::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value,
|
||||
::boost::type_traits::ice_not<
|
||||
::boost::is_convertible<T,void const volatile*>::value
|
||||
>::value
|
||||
>::value > chooser;
|
||||
|
||||
typedef typename chooser::template result_<T> result;
|
||||
typedef typename result::type eh_type;
|
||||
|
||||
BOOST_STATIC_CONSTANT(bool, value =
|
||||
(::boost::type_traits::ice_or<eh_type::value, BOOST_INTERNAL_IS_EMPTY(T)>::value));
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
template <typename T> struct is_empty_impl
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(bool, value = BOOST_INTERNAL_IS_EMPTY(T));
|
||||
};
|
||||
|
||||
#endif // BOOST_MSVC6_MEMBER_TEMPLATES
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
// these help when the compiler has no partial specialization support:
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_empty,void,false)
|
||||
|
@ -55,13 +55,12 @@ struct is_class_or_union
|
||||
template <typename T>
|
||||
struct is_class_or_union
|
||||
{
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))// we simply can't detect it this way.
|
||||
# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))// we simply can't detect it this way.
|
||||
BOOST_STATIC_CONSTANT(bool, value = false);
|
||||
# else
|
||||
template <class U> static ::boost::type_traits::yes_type is_class_or_union_tester(void(U::*)(void));
|
||||
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC, == 1300) \
|
||||
|| BOOST_WORKAROUND(__MWERKS__, <= 0x3000) // no SFINAE
|
||||
# if BOOST_WORKAROUND(__MWERKS__, <= 0x3000) // no SFINAE
|
||||
static ::boost::type_traits::no_type is_class_or_union_tester(...);
|
||||
BOOST_STATIC_CONSTANT(
|
||||
bool, value = sizeof(is_class_or_union_tester(0)) == sizeof(::boost::type_traits::yes_type));
|
||||
|
@ -15,7 +15,7 @@
|
||||
#include <boost/type_traits/detail/false_result.hpp>
|
||||
#include <boost/config.hpp>
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
||||
#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
||||
# include <boost/type_traits/detail/is_function_ptr_helper.hpp>
|
||||
#else
|
||||
# include <boost/type_traits/detail/is_function_ptr_tester.hpp>
|
||||
@ -37,7 +37,7 @@ namespace boost {
|
||||
|
||||
namespace detail {
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
||||
#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
||||
template<bool is_ref = true>
|
||||
struct is_function_chooser
|
||||
: public ::boost::type_traits::false_result
|
||||
@ -79,7 +79,6 @@ struct is_function_impl
|
||||
#endif
|
||||
};
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
template <typename T>
|
||||
struct is_function_impl<T&> : public false_type
|
||||
{};
|
||||
@ -88,7 +87,6 @@ template <typename T>
|
||||
struct is_function_impl<T&&> : public false_type
|
||||
{};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -46,8 +46,7 @@ BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,wchar_t,true)
|
||||
|
||||
// Same set of integral types as in boost/type_traits/integral_promotion.hpp.
|
||||
// Please, keep in sync. -- Alexander Nasonov
|
||||
#if (defined(BOOST_MSVC) && (BOOST_MSVC < 1300)) \
|
||||
|| (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
|
||||
#if (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
|
||||
|| (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER < 1300))
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int8,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int8,true)
|
||||
|
@ -23,10 +23,6 @@
|
||||
|
||||
#include <boost/type_traits/config.hpp>
|
||||
|
||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# include <boost/type_traits/detail/yes_no_type.hpp>
|
||||
# include <boost/type_traits/detail/wrap.hpp>
|
||||
#endif
|
||||
|
||||
// should be the last #include
|
||||
#include <boost/type_traits/detail/bool_trait_def.hpp>
|
||||
@ -35,7 +31,7 @@ namespace boost {
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,__is_reference(T))
|
||||
#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
#else
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T&,true)
|
||||
@ -50,66 +46,8 @@ BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& volati
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T& const volatile,true)
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) && (__GNUC__ < 3)
|
||||
// these allow us to work around illegally cv-qualified reference
|
||||
// types.
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T const ,::boost::is_lvalue_reference<T>::value)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T volatile ,::boost::is_lvalue_reference<T>::value)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_lvalue_reference,T const volatile ,::boost::is_lvalue_reference<T>::value)
|
||||
// However, the above specializations confuse gcc 2.96 unless we also
|
||||
// supply these specializations for array types
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,T[N],false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,const T[N],false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,volatile T[N],false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,unsigned long N,is_lvalue_reference,const volatile T[N],false)
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
# pragma warning(push)
|
||||
# pragma warning(disable: 4181 4097)
|
||||
#endif
|
||||
|
||||
namespace detail {
|
||||
|
||||
using ::boost::type_traits::yes_type;
|
||||
using ::boost::type_traits::no_type;
|
||||
using ::boost::type_traits::wrap;
|
||||
|
||||
template <class T> T&(* is_lvalue_reference_helper1(wrap<T>) )(wrap<T>);
|
||||
char is_lvalue_reference_helper1(...);
|
||||
|
||||
template <class T> no_type is_lvalue_reference_helper2(T&(*)(wrap<T>));
|
||||
yes_type is_lvalue_reference_helper2(...);
|
||||
|
||||
template <typename T>
|
||||
struct is_lvalue_reference_impl
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(
|
||||
bool, value = sizeof(
|
||||
::boost::detail::is_lvalue_reference_helper2(
|
||||
::boost::detail::is_lvalue_reference_helper1(::boost::type_traits::wrap<T>()))) == 1
|
||||
);
|
||||
};
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void,false)
|
||||
#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void const,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void volatile,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_lvalue_reference,void const volatile,false)
|
||||
#endif
|
||||
|
||||
} // namespace detail
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_lvalue_reference,T,::boost::detail::is_lvalue_reference_impl<T>::value)
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#include <boost/type_traits/detail/bool_trait_undef.hpp>
|
||||
|
@ -14,8 +14,7 @@
|
||||
#include <boost/type_traits/config.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
||||
&& !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
||||
//
|
||||
// Note: we use the "workaround" version for MSVC because it works for
|
||||
// __stdcall etc function types, where as the partial specialisation
|
||||
@ -39,7 +38,7 @@ namespace boost {
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_function_pointer,T,__is_member_function_pointer( T ))
|
||||
#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
||||
#elif !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(
|
||||
is_member_function_pointer
|
||||
@ -92,10 +91,8 @@ struct is_member_function_pointer_impl
|
||||
{
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
template <typename T>
|
||||
struct is_member_function_pointer_impl<T&> : public false_type{};
|
||||
#endif
|
||||
|
||||
#else // Borland C++
|
||||
|
||||
@ -127,7 +124,7 @@ BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_function_pointer,void const volatil
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_function_pointer,T,::boost::detail::is_member_function_pointer_impl<T>::value)
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <boost/type_traits/config.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
|
||||
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600)
|
||||
# include <boost/type_traits/is_member_function_pointer.hpp>
|
||||
#else
|
||||
# include <boost/type_traits/is_reference.hpp>
|
||||
@ -46,7 +46,7 @@ BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,__is_member_pointer(T))
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true)
|
||||
|
||||
#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
#else
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::boost::is_member_function_pointer<T>::value)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true)
|
||||
|
||||
@ -56,59 +56,8 @@ BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const volatile,true)
|
||||
#endif
|
||||
|
||||
#else // no partial template specialization
|
||||
|
||||
namespace detail {
|
||||
|
||||
template <typename R, typename T>
|
||||
::boost::type_traits::yes_type BOOST_TT_DECL is_member_pointer_tester(R T::*const volatile*);
|
||||
::boost::type_traits::no_type BOOST_TT_DECL is_member_pointer_tester(...);
|
||||
|
||||
template <bool>
|
||||
struct is_member_pointer_select
|
||||
: public ::boost::type_traits::false_result
|
||||
{
|
||||
};
|
||||
|
||||
template <>
|
||||
struct is_member_pointer_select<false>
|
||||
{
|
||||
template <typename T> struct result_
|
||||
{
|
||||
static T* make_t();
|
||||
BOOST_STATIC_CONSTANT(
|
||||
bool, value =
|
||||
(::boost::type_traits::ice_or<
|
||||
(1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(make_t()))),
|
||||
(1 == sizeof(is_member_pointer_tester(make_t())))
|
||||
>::value) );
|
||||
};
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct is_member_pointer_impl
|
||||
: public is_member_pointer_select<
|
||||
::boost::type_traits::ice_or<
|
||||
::boost::is_reference<T>::value
|
||||
, ::boost::is_array<T>::value
|
||||
>::value
|
||||
>::template result_<T>
|
||||
{
|
||||
};
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void,false)
|
||||
#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void volatile,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const volatile,false)
|
||||
#endif
|
||||
|
||||
} // namespace detail
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::boost::detail::is_member_pointer_impl<T>::value)
|
||||
|
||||
#endif // __BORLANDC__
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#include <boost/type_traits/detail/bool_trait_undef.hpp>
|
||||
|
@ -51,6 +51,15 @@ struct is_nothrow_move_assignable_imp{
|
||||
>::value));
|
||||
};
|
||||
|
||||
#ifdef BOOST_NO_NOEXCEPT
|
||||
//
|
||||
// The above logic doesn't quite work in the absense of noexcept,
|
||||
// this is really to improve things with VC13:
|
||||
//
|
||||
template <class T>
|
||||
struct is_nothrow_move_assignable_imp<T&>{ BOOST_STATIC_CONSTANT(bool, value = false); };
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
template <class T>
|
||||
|
@ -66,6 +66,15 @@ struct is_nothrow_move_constructible_imp{
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_NO_NOEXCEPT
|
||||
//
|
||||
// The above logic doesn't quite work in the absense of noexcept,
|
||||
// this is really to improve things with VC13:
|
||||
//
|
||||
template <class T>
|
||||
struct is_nothrow_move_constructible_imp<T&>{ BOOST_STATIC_CONSTANT(bool, value = false); };
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_nothrow_move_constructible,T,::boost::detail::is_nothrow_move_constructible_imp<T>::value)
|
||||
|
@ -26,20 +26,12 @@ namespace detail {
|
||||
template <typename T>
|
||||
struct is_object_impl
|
||||
{
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
BOOST_STATIC_CONSTANT(bool, value =
|
||||
(::boost::type_traits::ice_and<
|
||||
::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_void<T>::value>::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_function<T>::value>::value
|
||||
>::value));
|
||||
#else
|
||||
BOOST_STATIC_CONSTANT(bool, value =
|
||||
(::boost::type_traits::ice_and<
|
||||
::boost::type_traits::ice_not< ::boost::is_reference<T>::value>::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_void<T>::value>::value
|
||||
>::value));
|
||||
#endif
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
|
@ -33,7 +33,6 @@ template< typename T > struct is_POD;
|
||||
|
||||
namespace detail {
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
template <typename T> struct is_pod_impl
|
||||
{
|
||||
@ -54,71 +53,6 @@ struct is_pod_impl<T[sz]>
|
||||
};
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
template <bool is_array = false>
|
||||
struct is_pod_helper
|
||||
{
|
||||
template <typename T> struct result_
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(
|
||||
bool, value =
|
||||
(::boost::type_traits::ice_or<
|
||||
::boost::is_scalar<T>::value,
|
||||
::boost::is_void<T>::value,
|
||||
BOOST_INTERNAL_IS_POD(T)
|
||||
>::value));
|
||||
};
|
||||
};
|
||||
|
||||
template <bool b>
|
||||
struct bool_to_yes_no_type
|
||||
{
|
||||
typedef ::boost::type_traits::no_type type;
|
||||
};
|
||||
|
||||
template <>
|
||||
struct bool_to_yes_no_type<true>
|
||||
{
|
||||
typedef ::boost::type_traits::yes_type type;
|
||||
};
|
||||
|
||||
template <typename ArrayType>
|
||||
struct is_pod_array_helper
|
||||
{
|
||||
enum { is_pod = ::boost::is_POD<ArrayType>::value }; // MSVC workaround
|
||||
typedef typename bool_to_yes_no_type<is_pod>::type type;
|
||||
type instance() const;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
is_pod_array_helper<T> is_POD_array(T*);
|
||||
|
||||
template <>
|
||||
struct is_pod_helper<true>
|
||||
{
|
||||
template <typename T> struct result_
|
||||
{
|
||||
static T& help();
|
||||
BOOST_STATIC_CONSTANT(bool, value =
|
||||
sizeof(is_POD_array(help()).instance()) == sizeof(::boost::type_traits::yes_type)
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
template <typename T> struct is_pod_impl
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(
|
||||
bool, value = (
|
||||
::boost::detail::is_pod_helper<
|
||||
::boost::is_array<T>::value
|
||||
>::template result_<T>::value
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
// the following help compilers without partial specialization support:
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,void,true)
|
||||
|
@ -25,17 +25,8 @@
|
||||
#include <boost/type_traits/detail/ice_and.hpp>
|
||||
#include <boost/type_traits/detail/ice_not.hpp>
|
||||
#include <boost/type_traits/config.hpp>
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
#include <boost/type_traits/remove_cv.hpp>
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# include <boost/type_traits/is_reference.hpp>
|
||||
# include <boost/type_traits/is_array.hpp>
|
||||
# include <boost/type_traits/detail/is_function_ptr_tester.hpp>
|
||||
# include <boost/type_traits/detail/false_result.hpp>
|
||||
# include <boost/type_traits/detail/ice_or.hpp>
|
||||
#endif
|
||||
|
||||
// should be the last #include
|
||||
#include <boost/type_traits/detail/bool_trait_def.hpp>
|
||||
@ -44,7 +35,7 @@ namespace boost {
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,__is_pointer(T))
|
||||
#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
#else
|
||||
|
||||
namespace detail {
|
||||
|
||||
@ -67,16 +58,6 @@ TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC(is_pointer_helper,T*,true)
|
||||
template< typename T >
|
||||
struct is_pointer_impl
|
||||
{
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
BOOST_STATIC_CONSTANT(bool, value =
|
||||
(::boost::type_traits::ice_and<
|
||||
::boost::detail::is_pointer_helper<T>::value
|
||||
, ::boost::type_traits::ice_not<
|
||||
::boost::is_member_pointer<T>::value
|
||||
>::value
|
||||
>::value)
|
||||
);
|
||||
#else
|
||||
BOOST_STATIC_CONSTANT(bool, value =
|
||||
(::boost::type_traits::ice_and<
|
||||
::boost::detail::is_pointer_helper<typename remove_cv<T>::type>::value
|
||||
@ -85,7 +66,6 @@ struct is_pointer_impl
|
||||
>::value
|
||||
>::value)
|
||||
);
|
||||
#endif
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
@ -99,62 +79,8 @@ BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& volatile,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_pointer,T& const volatile,false)
|
||||
#endif
|
||||
|
||||
#else // no partial template specialization
|
||||
|
||||
namespace detail {
|
||||
|
||||
struct pointer_helper
|
||||
{
|
||||
pointer_helper(const volatile void*);
|
||||
};
|
||||
|
||||
yes_type BOOST_TT_DECL is_pointer_tester(pointer_helper);
|
||||
no_type BOOST_TT_DECL is_pointer_tester(...);
|
||||
|
||||
template <bool>
|
||||
struct is_pointer_select
|
||||
: public ::boost::type_traits::false_result
|
||||
{
|
||||
};
|
||||
|
||||
template <>
|
||||
struct is_pointer_select<false>
|
||||
{
|
||||
template <typename T> struct result_
|
||||
{
|
||||
static T& make_t();
|
||||
BOOST_STATIC_CONSTANT(bool, value =
|
||||
(::boost::type_traits::ice_or<
|
||||
(1 == sizeof(is_pointer_tester(make_t()))),
|
||||
(1 == sizeof(type_traits::is_function_ptr_tester(make_t())))
|
||||
>::value));
|
||||
};
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct is_pointer_impl
|
||||
: public is_pointer_select<
|
||||
::boost::type_traits::ice_or<
|
||||
::boost::is_reference<T>::value
|
||||
, ::boost::is_array<T>::value
|
||||
>::value
|
||||
>::template result_<T>
|
||||
{
|
||||
};
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void,false)
|
||||
#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void const,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void volatile,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pointer,void const volatile,false)
|
||||
#endif
|
||||
|
||||
} // namespace detail
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,::boost::detail::is_pointer_impl<T>::value)
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#include <boost/type_traits/detail/bool_trait_undef.hpp>
|
||||
|
@ -22,17 +22,11 @@
|
||||
#define BOOST_TT_IS_SAME_HPP_INCLUDED
|
||||
|
||||
#include <boost/type_traits/config.hpp>
|
||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
#include <boost/type_traits/detail/yes_no_type.hpp>
|
||||
#include <boost/type_traits/detail/ice_and.hpp>
|
||||
#include <boost/type_traits/is_reference.hpp>
|
||||
#endif
|
||||
// should be the last #include
|
||||
#include <boost/type_traits/detail/bool_trait_def.hpp>
|
||||
|
||||
namespace boost {
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_same,T,U,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T,T,true)
|
||||
@ -42,58 +36,6 @@ BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T,T,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1(typename T,is_same,T&,T&,true)
|
||||
#endif
|
||||
|
||||
#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
namespace detail {
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
// the following VC6 specific implementation is *NOT* legal
|
||||
// C++, but has the advantage that it works for incomplete
|
||||
// types.
|
||||
|
||||
template< typename T1 >
|
||||
struct is_same_part_1
|
||||
{
|
||||
template<typename T2> struct part_2 { enum { value = false }; };
|
||||
template<> struct part_2<T1> { enum { value = true }; };
|
||||
};
|
||||
|
||||
template< typename T1, typename T2 >
|
||||
struct is_same_impl
|
||||
{
|
||||
enum { value = boost::detail::is_same_part_1<T1>::template part_2<T2>::value };
|
||||
};
|
||||
|
||||
#else // generic "no-partial-specialization" version
|
||||
|
||||
template <typename T>
|
||||
::boost::type_traits::yes_type
|
||||
BOOST_TT_DECL is_same_tester(T*, T*);
|
||||
|
||||
::boost::type_traits::no_type
|
||||
BOOST_TT_DECL is_same_tester(...);
|
||||
|
||||
template <typename T, typename U>
|
||||
struct is_same_impl
|
||||
{
|
||||
static T t;
|
||||
static U u;
|
||||
|
||||
BOOST_STATIC_CONSTANT(bool, value =
|
||||
(::boost::type_traits::ice_and<
|
||||
(sizeof(type_traits::yes_type) == sizeof(boost::detail::is_same_tester(&t,&u))),
|
||||
(::boost::is_reference<T>::value == ::boost::is_reference<U>::value),
|
||||
(sizeof(T) == sizeof(U))
|
||||
>::value));
|
||||
};
|
||||
|
||||
#endif // BOOST_MSVC
|
||||
|
||||
} // namespace detail
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_same,T,U,(::boost::detail::is_same_impl<T,U>::value))
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
} // namespace boost
|
||||
|
||||
|
@ -76,11 +76,7 @@ struct is_signed_imp
|
||||
> selector;
|
||||
typedef typename selector::template rebind<T> binder;
|
||||
typedef typename binder::type type;
|
||||
#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
|
||||
BOOST_STATIC_CONSTANT(bool, value = is_signed_imp<T>::type::value);
|
||||
#else
|
||||
BOOST_STATIC_CONSTANT(bool, value = type::value);
|
||||
#endif
|
||||
};
|
||||
|
||||
#else
|
||||
|
@ -91,11 +91,9 @@ BOOST_TT_AUX_BOOL_TRAIT_DEF2(
|
||||
, (::boost::detail::is_virtual_base_of_impl2<Base,Derived>::value)
|
||||
)
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base&,Derived,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base,Derived&,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2(typename Base,typename Derived,is_virtual_base_of,Base&,Derived&,false)
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
|
@ -24,17 +24,10 @@
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# include <boost/type_traits/detail/cv_traits_impl.hpp>
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
|
||||
# include <boost/type_traits/remove_bounds.hpp>
|
||||
# endif
|
||||
#else
|
||||
# include <boost/type_traits/is_reference.hpp>
|
||||
# include <boost/type_traits/is_array.hpp>
|
||||
# include <boost/type_traits/detail/yes_no_type.hpp>
|
||||
# include <boost/type_traits/detail/false_result.hpp>
|
||||
#endif
|
||||
|
||||
// should be the last #include
|
||||
#include <boost/type_traits/detail/bool_trait_def.hpp>
|
||||
@ -66,7 +59,7 @@ struct is_volatile_rval_filter<T&&>
|
||||
|
||||
#if defined( __CODEGEARC__ )
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,__is_volatile(T))
|
||||
#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
#else
|
||||
|
||||
//* is a type T declared volatile - is_volatile<T>
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::boost::detail::is_volatile_rval_filter<T>::value)
|
||||
@ -82,69 +75,8 @@ BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& volatile,false
|
||||
BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_volatile,T& const volatile,false)
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
namespace detail {
|
||||
|
||||
using ::boost::type_traits::yes_type;
|
||||
using ::boost::type_traits::no_type;
|
||||
|
||||
yes_type is_volatile_tester(void const volatile*);
|
||||
no_type is_volatile_tester(void const*);
|
||||
|
||||
template <bool is_ref, bool array>
|
||||
struct is_volatile_helper
|
||||
: public ::boost::type_traits::false_result
|
||||
{
|
||||
};
|
||||
|
||||
template <>
|
||||
struct is_volatile_helper<false,false>
|
||||
{
|
||||
template <typename T> struct result_
|
||||
{
|
||||
static T* t;
|
||||
BOOST_STATIC_CONSTANT(bool, value = (
|
||||
sizeof(boost::detail::yes_type) == sizeof(boost::detail::is_volatile_tester(t))
|
||||
));
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct is_volatile_helper<false,true>
|
||||
{
|
||||
template <typename T> struct result_
|
||||
{
|
||||
static T t;
|
||||
BOOST_STATIC_CONSTANT(bool, value = (
|
||||
sizeof(boost::detail::yes_type) == sizeof(boost::detail::is_volatile_tester(&t))
|
||||
));
|
||||
};
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct is_volatile_impl
|
||||
: public is_volatile_helper<
|
||||
is_reference<T>::value
|
||||
, is_array<T>::value
|
||||
>::template result_<T>
|
||||
{
|
||||
};
|
||||
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void,false)
|
||||
#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void const,false)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void volatile,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_volatile,void const volatile,true)
|
||||
#endif
|
||||
|
||||
} // namespace detail
|
||||
|
||||
//* is a type T declared volatile - is_volatile<T>
|
||||
BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_volatile,T,::boost::detail::is_volatile_impl<T>::value)
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#include <boost/type_traits/detail/bool_trait_undef.hpp>
|
||||
|
@ -37,11 +37,9 @@ struct make_signed_imp
|
||||
{
|
||||
BOOST_STATIC_ASSERT(
|
||||
(::boost::type_traits::ice_or< ::boost::is_integral<T>::value, ::boost::is_enum<T>::value>::value));
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC, <=1300)
|
||||
BOOST_STATIC_ASSERT(
|
||||
(::boost::type_traits::ice_not< ::boost::is_same<
|
||||
typename remove_cv<T>::type, bool>::value>::value));
|
||||
#endif
|
||||
|
||||
typedef typename remove_cv<T>::type t_no_cv;
|
||||
typedef typename mpl::if_c<
|
||||
|
@ -37,11 +37,9 @@ struct make_unsigned_imp
|
||||
{
|
||||
BOOST_STATIC_ASSERT(
|
||||
(::boost::type_traits::ice_or< ::boost::is_integral<T>::value, ::boost::is_enum<T>::value>::value));
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC, <=1300)
|
||||
BOOST_STATIC_ASSERT(
|
||||
(::boost::type_traits::ice_not< ::boost::is_same<
|
||||
typename remove_cv<T>::type, bool>::value>::value));
|
||||
#endif
|
||||
|
||||
typedef typename remove_cv<T>::type t_no_cv;
|
||||
typedef typename mpl::if_c<
|
||||
|
@ -1,47 +0,0 @@
|
||||
// Copyright (C) 2004 Peder Holt
|
||||
// Use, modification and distribution is subject to the Boost Software
|
||||
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_ALL_EXTENT_HOLT_2004_0827
|
||||
#define BOOST_TYPE_TRAITS_MSVC_REMOVE_ALL_EXTENT_HOLT_2004_0827
|
||||
|
||||
#include <boost/type_traits/msvc/typeof.hpp>
|
||||
#include <boost/type_traits/is_array.hpp>
|
||||
|
||||
namespace boost {
|
||||
template<typename T>
|
||||
struct remove_all_extents;
|
||||
|
||||
namespace detail {
|
||||
template<bool IsArray>
|
||||
struct remove_all_extents_impl_typeof {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
template<>
|
||||
struct remove_all_extents_impl_typeof<true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(U[]);
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type reduced_type;
|
||||
typedef typename remove_all_extents<reduced_type>::type type;
|
||||
};
|
||||
};
|
||||
} //namespace detail
|
||||
|
||||
template<typename T>
|
||||
struct remove_all_extents {
|
||||
typedef typename boost::detail::remove_all_extents_impl_typeof<
|
||||
boost::is_array<T>::value
|
||||
>::template inner<T,remove_all_extents<T> >::type type;
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_all_extents,T)
|
||||
};
|
||||
} //namespace boost
|
||||
|
||||
#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
|
||||
|
@ -1,43 +0,0 @@
|
||||
// Copyright (C) 2004 Peder Holt
|
||||
// Use, modification and distribution is subject to the Boost Software
|
||||
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
|
||||
#define BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
|
||||
|
||||
#include <boost/type_traits/msvc/typeof.hpp>
|
||||
#include <boost/type_traits/is_array.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace detail {
|
||||
template<bool IsArray>
|
||||
struct remove_bounds_impl_typeof {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
template<>
|
||||
struct remove_bounds_impl_typeof<true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(U[]);
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
};
|
||||
} //namespace detail
|
||||
|
||||
template<typename T>
|
||||
struct remove_bounds {
|
||||
typedef typename boost::detail::remove_bounds_impl_typeof<
|
||||
boost::is_array<T>::value
|
||||
>::template inner<T,remove_bounds<T> >::type type;
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_bounds,T)
|
||||
};
|
||||
} //namespace boost
|
||||
|
||||
#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
|
||||
|
@ -1,143 +0,0 @@
|
||||
// Copyright (C) 2004 Peder Holt
|
||||
// Use, modification and distribution is subject to the Boost Software
|
||||
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
|
||||
#define BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
|
||||
|
||||
#include <boost/type_traits/msvc/typeof.hpp>
|
||||
#include <boost/type_traits/is_volatile.hpp>
|
||||
#include <boost/type_traits/is_const.hpp>
|
||||
#include <boost/type_traits/is_pointer.hpp>
|
||||
#include <boost/type_traits/is_array.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace detail {
|
||||
template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>
|
||||
struct remove_const_impl_typeof {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
typedef T type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
template<> //Const
|
||||
struct remove_const_impl_typeof<false,false,true,false> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(U const&(*)());
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T& type;
|
||||
};
|
||||
};
|
||||
template<> //CV
|
||||
struct remove_const_impl_typeof<false,false,true,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U volatile,ID> test(U const volatile&(*)());
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T& type;
|
||||
};
|
||||
};
|
||||
template<> //Const Pointer
|
||||
struct remove_const_impl_typeof<true,false,true,false> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(void(*)(U const[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type[];
|
||||
};
|
||||
};
|
||||
template<> //CV Pointer
|
||||
struct remove_const_impl_typeof<true,false,true,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U volatile,ID> test(void(*)(U const volatile[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type[];
|
||||
};
|
||||
};
|
||||
template<> //Const Array
|
||||
struct remove_const_impl_typeof<false,true,true,false> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
|
||||
|
||||
template<typename U>
|
||||
static msvc_register_type<U[value],ID> test(void(*)(U const[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
|
||||
template<> //CV Array
|
||||
struct remove_const_impl_typeof<false,true,true,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
|
||||
|
||||
template<typename U>
|
||||
static msvc_register_type<U volatile[value],ID> test(void(*)(U const volatile[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
|
||||
} //namespace detail
|
||||
|
||||
template<typename T>
|
||||
struct remove_const {
|
||||
typedef boost::detail::remove_const_impl_typeof<
|
||||
boost::is_pointer<T>::value,
|
||||
boost::is_array<T>::value,
|
||||
boost::is_const<T>::value,
|
||||
boost::is_volatile<T>::value
|
||||
> remove_const_type;
|
||||
typedef typename
|
||||
remove_const_type::template inner<
|
||||
typename remove_const_type::template transform_type<T>::type,
|
||||
remove_const<T>
|
||||
>::type
|
||||
type;
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_const,T)
|
||||
};
|
||||
}//namespace boost
|
||||
|
||||
#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_CONST_HOLT_2004_0828
|
@ -1,190 +0,0 @@
|
||||
// Copyright (C) 2004 Peder Holt
|
||||
// Use, modification and distribution is subject to the Boost Software
|
||||
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
|
||||
#define BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
|
||||
|
||||
#include <boost/type_traits/msvc/typeof.hpp>
|
||||
#include <boost/type_traits/is_volatile.hpp>
|
||||
#include <boost/type_traits/is_const.hpp>
|
||||
#include <boost/type_traits/is_pointer.hpp>
|
||||
#include <boost/type_traits/is_array.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace detail {
|
||||
template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>
|
||||
struct remove_cv_impl_typeof {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
typedef T type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
template<> //Volatile
|
||||
struct remove_cv_impl_typeof<false,false,false,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(U volatile&(*)());
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T& type;
|
||||
};
|
||||
};
|
||||
template<> //Const
|
||||
struct remove_cv_impl_typeof<false,false,true,false> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(U const&(*)());
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T& type;
|
||||
};
|
||||
};
|
||||
template<> //CV
|
||||
struct remove_cv_impl_typeof<false,false,true,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(U const volatile&(*)());
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T& type;
|
||||
};
|
||||
};
|
||||
template<> //Volatile Pointer
|
||||
struct remove_cv_impl_typeof<true,false,false,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(void(*)(U volatile[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type[];
|
||||
};
|
||||
};
|
||||
template<> //Const Pointer
|
||||
struct remove_cv_impl_typeof<true,false,true,false> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(void(*)(U const[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type[];
|
||||
};
|
||||
};
|
||||
template<> //CV Pointer
|
||||
struct remove_cv_impl_typeof<true,false,true,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(void(*)(U const volatile[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type[];
|
||||
};
|
||||
};
|
||||
template<> //Volatile Array
|
||||
struct remove_cv_impl_typeof<false,true,false,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
|
||||
|
||||
template<typename U>
|
||||
static msvc_register_type<U[value],ID> test(void(*)(U volatile[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
template<> //Const Array
|
||||
struct remove_cv_impl_typeof<false,true,true,false> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
|
||||
|
||||
template<typename U>
|
||||
static msvc_register_type<U[value],ID> test(void(*)(U const[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
|
||||
template<> //CV Array
|
||||
struct remove_cv_impl_typeof<false,true,true,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
|
||||
|
||||
template<typename U>
|
||||
static msvc_register_type<U[value],ID> test(void(*)(U const volatile[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
|
||||
} //namespace detail
|
||||
|
||||
template<typename T>
|
||||
struct remove_cv {
|
||||
typedef boost::detail::remove_cv_impl_typeof<
|
||||
boost::is_pointer<T>::value,
|
||||
boost::is_array<T>::value,
|
||||
boost::is_const<T>::value,
|
||||
boost::is_volatile<T>::value
|
||||
> remove_cv_type;
|
||||
typedef typename
|
||||
remove_cv_type::template inner<
|
||||
typename remove_cv_type::template transform_type<T>::type,
|
||||
remove_cv<T>
|
||||
>::type
|
||||
type;
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_cv,T)
|
||||
};
|
||||
}//namespace boost
|
||||
|
||||
#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_CV_HOLT_2004_0901
|
@ -1,43 +0,0 @@
|
||||
// Copyright (C) 2004 Peder Holt
|
||||
// Use, modification and distribution is subject to the Boost Software
|
||||
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827
|
||||
#define BOOST_TYPE_TRAITS_MSVC_REMOVE_EXTENT_HOLT_2004_0827
|
||||
|
||||
#include <boost/type_traits/msvc/typeof.hpp>
|
||||
#include <boost/type_traits/is_array.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace detail {
|
||||
template<bool IsArray>
|
||||
struct remove_extent_impl_typeof {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
template<>
|
||||
struct remove_extent_impl_typeof<true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(U[]);
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
};
|
||||
} //namespace detail
|
||||
|
||||
template<typename T>
|
||||
struct remove_extent {
|
||||
typedef typename boost::detail::remove_extent_impl_typeof<
|
||||
boost::is_array<T>::value
|
||||
>::template inner<T,remove_extent<T> >::type type;
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_extent,T)
|
||||
};
|
||||
} //namespace boost
|
||||
|
||||
#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_BOUNDS_HOLT_2004_0827
|
||||
|
@ -1,42 +0,0 @@
|
||||
// Copyright (C) 2004 Peder Holt
|
||||
// Use, modification and distribution is subject to the Boost Software
|
||||
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
|
||||
#define BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
|
||||
|
||||
#include <boost/type_traits/msvc/typeof.hpp>
|
||||
#include <boost/type_traits/is_pointer.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace detail {
|
||||
template<int IsPointer>
|
||||
struct remove_pointer_impl_typeof {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
template<>
|
||||
struct remove_pointer_impl_typeof<true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(U*);
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
};
|
||||
} //namespace detail
|
||||
|
||||
template<typename T>
|
||||
struct remove_pointer {
|
||||
typedef typename boost::detail::remove_pointer_impl_typeof<
|
||||
boost::is_pointer<T>::value
|
||||
>::template inner<T,remove_pointer<T> >::type type;
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_pointer,T)
|
||||
};
|
||||
} //namespace boost
|
||||
|
||||
#endif //BOOST_TYPE_TRAITS_REMOVE_POINTER_HOLT_2004_0827
|
@ -1,42 +0,0 @@
|
||||
// Copyright (C) 2004 Peder Holt
|
||||
// Use, modification and distribution is subject to the Boost Software
|
||||
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
|
||||
#define BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
|
||||
|
||||
#include <boost/type_traits/msvc/typeof.hpp>
|
||||
#include <boost/type_traits/is_reference.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace detail {
|
||||
template<bool IsReference>
|
||||
struct remove_reference_impl_typeof {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
template<>
|
||||
struct remove_reference_impl_typeof<true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(U&(*)());
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
};
|
||||
} //namespace detail
|
||||
|
||||
template<typename T>
|
||||
struct remove_reference {
|
||||
typedef typename boost::detail::remove_reference_impl_typeof<
|
||||
boost::is_reference<T>::value
|
||||
>::template inner<T,remove_reference<T> >::type type;
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_reference,T)
|
||||
};
|
||||
} //namespace boost
|
||||
|
||||
#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_REFERENCE_HOLT_2004_0827
|
@ -1,143 +0,0 @@
|
||||
// Copyright (C) 2004 Peder Holt
|
||||
// Use, modification and distribution is subject to the Boost Software
|
||||
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
|
||||
#define BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
|
||||
|
||||
#include <boost/type_traits/msvc/typeof.hpp>
|
||||
#include <boost/type_traits/is_volatile.hpp>
|
||||
#include <boost/type_traits/is_const.hpp>
|
||||
#include <boost/type_traits/is_pointer.hpp>
|
||||
#include <boost/type_traits/is_array.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace detail {
|
||||
template<bool IsPointer,bool IsArray,bool IsConst,bool IsVolatile>
|
||||
struct remove_volatile_impl_typeof {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
typedef T type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
template<> //Volatile
|
||||
struct remove_volatile_impl_typeof<false,false,false,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(U volatile&(*)());
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T& type;
|
||||
};
|
||||
};
|
||||
template<> //CV
|
||||
struct remove_volatile_impl_typeof<false,false,true,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U const,ID> test(U const volatile&(*)());
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (T(*)())(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T& type;
|
||||
};
|
||||
};
|
||||
template<> //Volatile Pointer
|
||||
struct remove_volatile_impl_typeof<true,false,false,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U,ID> test(void(*)(U volatile[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type[];
|
||||
};
|
||||
};
|
||||
template<> //CV Pointer
|
||||
struct remove_volatile_impl_typeof<true,false,true,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
template<typename U>
|
||||
static msvc_register_type<U const,ID> test(void(*)(U const volatile[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type[];
|
||||
};
|
||||
};
|
||||
template<> //Volatile Array
|
||||
struct remove_volatile_impl_typeof<false,true,false,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
|
||||
|
||||
template<typename U>
|
||||
static msvc_register_type<U[value],ID> test(void(*)(U volatile[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
|
||||
template<> //CV Array
|
||||
struct remove_volatile_impl_typeof<false,true,true,true> {
|
||||
template<typename T,typename ID>
|
||||
struct inner {
|
||||
BOOST_STATIC_CONSTANT(unsigned,value=(sizeof(T)/sizeof((*((T*)NULL))[0])));
|
||||
|
||||
template<typename U>
|
||||
static msvc_register_type<U const[value],ID> test(void(*)(U const volatile[]));
|
||||
static msvc_register_type<T,ID> test(...);
|
||||
BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( (void(*)(T))(NULL) ) ));
|
||||
typedef typename msvc_extract_type<ID>::id2type::type type;
|
||||
};
|
||||
template<typename T>
|
||||
struct transform_type {
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
|
||||
} //namespace detail
|
||||
|
||||
template<typename T>
|
||||
struct remove_volatile {
|
||||
typedef boost::detail::remove_volatile_impl_typeof<
|
||||
boost::is_pointer<T>::value,
|
||||
boost::is_array<T>::value,
|
||||
boost::is_const<T>::value,
|
||||
boost::is_volatile<T>::value
|
||||
> remove_volatile_type;
|
||||
typedef typename
|
||||
remove_volatile_type::template inner<
|
||||
typename remove_volatile_type::template transform_type<T>::type,
|
||||
remove_volatile<T>
|
||||
>::type
|
||||
type;
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_volatile,T)
|
||||
};
|
||||
}//namespace boost
|
||||
|
||||
#endif //BOOST_TYPE_TRAITS_MSVC_REMOVE_VOLATILE_HOLT_2004_0828
|
@ -1,50 +0,0 @@
|
||||
// Copyright (C) 2004 Peder Holt
|
||||
// Use, modification and distribution is subject to the Boost Software
|
||||
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#ifndef BOOST_TYPETRAITS_MSVC_TYPEOF_HPP
|
||||
#define BOOST_TYPETRAITS_MSVC_TYPEOF_HPP
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
namespace boost { namespace detail {
|
||||
# if BOOST_WORKAROUND(BOOST_MSVC,==1300)
|
||||
template<typename ID>
|
||||
struct msvc_extract_type
|
||||
{
|
||||
template<bool>
|
||||
struct id2type_impl;
|
||||
|
||||
typedef id2type_impl<true> id2type;
|
||||
};
|
||||
|
||||
template<typename T, typename ID>
|
||||
struct msvc_register_type : public msvc_extract_type<ID>
|
||||
{
|
||||
template<>
|
||||
struct id2type_impl<true> //VC7.0 specific bugfeature
|
||||
{
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
# else
|
||||
template<typename ID>
|
||||
struct msvc_extract_type
|
||||
{
|
||||
struct id2type;
|
||||
};
|
||||
|
||||
template<typename T, typename ID>
|
||||
struct msvc_register_type : public msvc_extract_type<ID>
|
||||
{
|
||||
typedef msvc_extract_type<ID> base_type;
|
||||
struct base_type::id2type // This uses nice VC6.5 and VC7.1 bugfeature
|
||||
{
|
||||
typedef T type;
|
||||
};
|
||||
};
|
||||
# endif
|
||||
}}
|
||||
|
||||
#endif //BOOST_TYPETRAITS_MSVC_TYPEOF_IMPL_HPP
|
@ -24,7 +24,7 @@ struct rank_imp
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(std::size_t, value = N);
|
||||
};
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
|
||||
#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
|
||||
template <class T, std::size_t R, std::size_t N>
|
||||
struct rank_imp<T[R], N>
|
||||
{
|
||||
|
@ -13,20 +13,14 @@
|
||||
#include <cstddef>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
#include <boost/type_traits/msvc/remove_all_extents.hpp>
|
||||
#endif
|
||||
|
||||
// should be the last #include
|
||||
#include <boost/type_traits/detail/type_trait_def.hpp>
|
||||
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
|
||||
namespace boost {
|
||||
|
||||
BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_all_extents,T,T)
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
|
||||
#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T[N],typename boost::remove_all_extents<T>::type type)
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T const[N],typename boost::remove_all_extents<T const>::type type)
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_all_extents,T volatile[N],typename boost::remove_all_extents<T volatile>::type type)
|
||||
@ -41,8 +35,6 @@ BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_all_extents,T const vo
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif
|
||||
|
||||
#include <boost/type_traits/detail/type_trait_undef.hpp>
|
||||
|
||||
#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
|
||||
|
@ -13,20 +13,14 @@
|
||||
#include <cstddef>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
#include <boost/type_traits/msvc/remove_bounds.hpp>
|
||||
#endif
|
||||
|
||||
// should be the last #include
|
||||
#include <boost/type_traits/detail/type_trait_def.hpp>
|
||||
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
|
||||
namespace boost {
|
||||
|
||||
BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_bounds,T,T)
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
|
||||
#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T[N],T type)
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T const[N],T const type)
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_bounds,T volatile[N],T volatile type)
|
||||
@ -41,8 +35,6 @@ BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_bounds,T const volatil
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif
|
||||
|
||||
#include <boost/type_traits/detail/type_trait_undef.hpp>
|
||||
|
||||
#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
|
||||
|
@ -12,23 +12,17 @@
|
||||
#define BOOST_TT_REMOVE_CONST_HPP_INCLUDED
|
||||
|
||||
#include <boost/type_traits/is_volatile.hpp>
|
||||
#include <boost/type_traits/broken_compiler_spec.hpp>
|
||||
#include <boost/type_traits/detail/cv_traits_impl.hpp>
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
#include <boost/type_traits/msvc/remove_const.hpp>
|
||||
#endif
|
||||
|
||||
// should be the last #include
|
||||
#include <boost/type_traits/detail/type_trait_def.hpp>
|
||||
|
||||
namespace boost {
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
namespace detail {
|
||||
|
||||
@ -77,11 +71,6 @@ BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_const,T const volatile[N],T volatile type[N])
|
||||
#endif
|
||||
|
||||
#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
|
||||
BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_const,T,typename boost::detail::remove_const_impl<T>::type)
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
} // namespace boost
|
||||
|
||||
|
@ -11,23 +11,17 @@
|
||||
#ifndef BOOST_TT_REMOVE_CV_HPP_INCLUDED
|
||||
#define BOOST_TT_REMOVE_CV_HPP_INCLUDED
|
||||
|
||||
#include <boost/type_traits/broken_compiler_spec.hpp>
|
||||
#include <boost/type_traits/detail/cv_traits_impl.hpp>
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
#include <boost/type_traits/msvc/remove_cv.hpp>
|
||||
#endif
|
||||
|
||||
// should be the last #include
|
||||
#include <boost/type_traits/detail/type_trait_def.hpp>
|
||||
|
||||
namespace boost {
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
namespace detail{
|
||||
|
||||
@ -61,21 +55,6 @@ BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T vol
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_cv,T const volatile[N],T type[N])
|
||||
#endif
|
||||
|
||||
#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
|
||||
namespace detail {
|
||||
template <typename T>
|
||||
struct remove_cv_impl
|
||||
{
|
||||
typedef typename remove_volatile_impl<
|
||||
typename remove_const_impl<T>::type
|
||||
>::type type;
|
||||
};
|
||||
}
|
||||
|
||||
BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_cv,T,typename boost::detail::remove_cv_impl<T>::type)
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
} // namespace boost
|
||||
|
||||
|
@ -13,20 +13,14 @@
|
||||
#include <boost/detail/workaround.hpp>
|
||||
#include <cstddef>
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
#include <boost/type_traits/msvc/remove_extent.hpp>
|
||||
#endif
|
||||
|
||||
// should be the last #include
|
||||
#include <boost/type_traits/detail/type_trait_def.hpp>
|
||||
|
||||
#if !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
|
||||
namespace boost {
|
||||
|
||||
BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_extent,T,T)
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
|
||||
#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T[N],T type)
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T const[N],T const type)
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_extent,T volatile[N],T volatile type)
|
||||
@ -41,8 +35,6 @@ BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_extent,T const volatil
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif
|
||||
|
||||
#include <boost/type_traits/detail/type_trait_undef.hpp>
|
||||
|
||||
#endif // BOOST_TT_REMOVE_BOUNDS_HPP_INCLUDED
|
||||
|
@ -11,13 +11,8 @@
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
#include <boost/type_traits/broken_compiler_spec.hpp>
|
||||
#endif
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
#include <boost/type_traits/msvc/remove_pointer.hpp>
|
||||
#elif defined(BOOST_MSVC)
|
||||
#if defined(BOOST_MSVC)
|
||||
#include <boost/type_traits/remove_cv.hpp>
|
||||
#include <boost/type_traits/is_pointer.hpp>
|
||||
#endif
|
||||
@ -71,7 +66,7 @@ namespace detail{
|
||||
|
||||
BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,typename boost::detail::remove_pointer_imp2<T>::type)
|
||||
|
||||
#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
#else
|
||||
|
||||
BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,T)
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T*,T)
|
||||
@ -79,10 +74,6 @@ BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const,T)
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* volatile,T)
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_pointer,T* const volatile,T)
|
||||
|
||||
#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
|
||||
BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_pointer,T,typename boost::detail::remove_pointer_impl<T>::type)
|
||||
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
@ -9,20 +9,14 @@
|
||||
#ifndef BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
|
||||
#define BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED
|
||||
|
||||
#include <boost/type_traits/broken_compiler_spec.hpp>
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
#include <boost/type_traits/msvc/remove_reference.hpp>
|
||||
#endif
|
||||
|
||||
// should be the last #include
|
||||
#include <boost/type_traits/detail/type_trait_def.hpp>
|
||||
|
||||
namespace boost {
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
namespace detail{
|
||||
//
|
||||
@ -57,11 +51,6 @@ BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& volatile,
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1(typename T,remove_reference,T& const volatile,T)
|
||||
#endif
|
||||
|
||||
#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
|
||||
BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_reference,T,typename boost::detail::remove_reference_impl<T>::type)
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
} // namespace boost
|
||||
|
||||
|
@ -12,23 +12,17 @@
|
||||
#define BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED
|
||||
|
||||
#include <boost/type_traits/is_const.hpp>
|
||||
#include <boost/type_traits/broken_compiler_spec.hpp>
|
||||
#include <boost/type_traits/detail/cv_traits_impl.hpp>
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
#include <boost/type_traits/msvc/remove_volatile.hpp>
|
||||
#endif
|
||||
|
||||
// should be the last #include
|
||||
#include <boost/type_traits/detail/type_trait_def.hpp>
|
||||
|
||||
namespace boost {
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
namespace detail {
|
||||
|
||||
@ -75,11 +69,6 @@ BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile
|
||||
BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2(typename T,std::size_t N,remove_volatile,T const volatile[N],T const type[N])
|
||||
#endif
|
||||
|
||||
#elif !BOOST_WORKAROUND(BOOST_MSVC,<=1300)
|
||||
|
||||
BOOST_TT_AUX_TYPE_TRAIT_DEF1(remove_volatile,T,typename boost::detail::remove_volatile_impl<T>::type)
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
} // namespace boost
|
||||
|
||||
|
@ -1,14 +0,0 @@
|
||||
|
||||
// Copyright 2001 Aleksey Gurtovoy.
|
||||
// Use, modification and distribution are subject to the Boost Software License,
|
||||
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt).
|
||||
//
|
||||
// See http://www.boost.org/libs/type_traits for most recent version including documentation.
|
||||
|
||||
#ifndef BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP_INCLUDED
|
||||
#define BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP_INCLUDED
|
||||
|
||||
#include <boost/type_traits/broken_compiler_spec.hpp>
|
||||
|
||||
#endif // BOOST_TT_TRANSFORM_TRAITS_SPEC_HPP_INCLUDED
|
@ -69,35 +69,6 @@ typedef int (alignment_dummy::*member_function_ptr)();
|
||||
// This template gets instantiated a lot, so use partial
|
||||
// specialization when available to reduce the compiler burden.
|
||||
//
|
||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
template <bool found = true>
|
||||
struct lower_alignment_helper_impl
|
||||
{
|
||||
template <std::size_t, class>
|
||||
struct apply
|
||||
{
|
||||
typedef char type;
|
||||
enum { value = true };
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct lower_alignment_helper_impl<false>
|
||||
{
|
||||
template <std::size_t target, class TestType>
|
||||
struct apply
|
||||
: public mpl::if_c<(alignment_of<TestType>::value == target), TestType, char>
|
||||
{
|
||||
enum { value = (alignment_of<TestType>::value == target) };
|
||||
};
|
||||
};
|
||||
|
||||
template <bool found, std::size_t target, class TestType>
|
||||
struct lower_alignment_helper
|
||||
: public lower_alignment_helper_impl<found>::template apply<target,TestType>
|
||||
{
|
||||
};
|
||||
#else
|
||||
template <bool found, std::size_t target, class TestType>
|
||||
struct lower_alignment_helper
|
||||
{
|
||||
@ -111,7 +82,6 @@ struct lower_alignment_helper<false,target,TestType>
|
||||
enum { value = (alignment_of<TestType>::value == target) };
|
||||
typedef typename mpl::if_c<value, TestType, char>::type type;
|
||||
};
|
||||
#endif
|
||||
|
||||
#define BOOST_TT_CHOOSE_MIN_ALIGNMENT(R,P,I,T) \
|
||||
typename lower_alignment_helper< \
|
||||
@ -166,26 +136,14 @@ struct is_aligned
|
||||
);
|
||||
};
|
||||
|
||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::max_align,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<1> ,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<2> ,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<4> ,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<8> ,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<10> ,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<16> ,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::detail::lower_alignment<32> ,true)
|
||||
#endif
|
||||
|
||||
} // namespace detail
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
template<std::size_t Align>
|
||||
struct is_pod< ::boost::detail::lower_alignment<Align> >
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(std::size_t, value = true);
|
||||
};
|
||||
#endif
|
||||
|
||||
// This alignment method originally due to Brian Parker, implemented by David
|
||||
// Abrahams, and then ported here by Doug Gregor.
|
||||
@ -248,7 +206,7 @@ BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a64,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_pod,::boost::align::a128,true)
|
||||
}
|
||||
#endif
|
||||
#if (defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && _MSC_VER >= 1300
|
||||
#if defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))
|
||||
//
|
||||
// MSVC supports types which have alignments greater than the normal
|
||||
// maximum: these are used for example in the types __m64 and __m128
|
||||
|
@ -90,13 +90,18 @@ TT_TEST_BEGIN(common_type)
|
||||
#ifndef __SUNPRO_CC
|
||||
assignation_2<C1C2, C1>();
|
||||
typedef tt::common_type<C1C2&, C1&>::type T1;
|
||||
BOOST_CHECK_TYPE(T1, C1C2);
|
||||
typedef tt::common_type<C3*, C2*>::type T2;
|
||||
BOOST_CHECK_TYPE(T2, C2*);
|
||||
typedef tt::common_type<int*, int const*>::type T3;
|
||||
BOOST_CHECK_TYPE(T3, int const*);
|
||||
#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
|
||||
// fails if BOOST_COMMON_TYPE_DONT_USE_TYPEOF:
|
||||
typedef tt::common_type<int volatile*, int const*>::type T4;
|
||||
BOOST_CHECK_TYPE(T4, int const volatile*);
|
||||
#endif
|
||||
typedef tt::common_type<int*, int volatile*>::type T5;
|
||||
BOOST_CHECK_TYPE(T5, int volatile*);
|
||||
|
||||
assignation_2<C1, C1C2>();
|
||||
assignation_2<C1C2, C2>();
|
||||
|
@ -87,13 +87,18 @@ TT_TEST_BEGIN(common_type)
|
||||
{
|
||||
assignation_2<C1C2, C1>();
|
||||
typedef tt::common_type<C1C2&, C1&>::type T1;
|
||||
BOOST_CHECK_TYPE(T1, C1C2);
|
||||
typedef tt::common_type<C3*, C2*>::type T2;
|
||||
BOOST_CHECK_TYPE(T2, C2*);
|
||||
typedef tt::common_type<int*, int const*>::type T3;
|
||||
BOOST_CHECK_TYPE(T3, int const*);
|
||||
#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_COMMON_TYPE_DONT_USE_TYPEOF)
|
||||
// fails if BOOST_COMMON_TYPE_DONT_USE_TYPEOF:
|
||||
typedef tt::common_type<int volatile*, int const*>::type T4;
|
||||
BOOST_CHECK_TYPE(T4, int const volatile*);
|
||||
#endif
|
||||
typedef tt::common_type<int*, int volatile*>::type T5;
|
||||
BOOST_CHECK_TYPE(T5, int volatile*);
|
||||
|
||||
assignation_2<C1, C1C2>();
|
||||
assignation_2<C1C2, C2>();
|
||||
|
Reference in New Issue
Block a user