functional (_Has_result_type): Cleanup.
2005-03-02 Douglas Gregor <doug.gregor@gmail.com> * include/tr1/functional (_Has_result_type): Cleanup. (_Result_of_impl): Handle member data pointers correctly. (reference_wrapper): Support invocation. Move repetition code into new file include/tr1/repeat.h. * include/tr1/functional_iterate.h (reference_wrapper): Support invocation. Cleanup long lines. * include/tr1/ref_wrap_iterate.h (reference_wrapper): Declare invocation operators. * include/tr1/repeat.h: Code repetition header. * include/Makefile.am: Add ref_wrap_iterate.h, repeat.h * include/Makefile.in: Add ref_wrap_iterate.h, repeat.h * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc: New test of reference_wrapper invocation. * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc: New test of reference_wrapper typedefs and base classes. * testsuite/tr1/3_function_objects/result_of.cc: Trivial cleanup (e-mail address). 2005-03-02 Douglas Gregor <doug.gregor@gmail.com> * include/tr1/function (result_of): New class template. * include/tr1/functional/iterator.h: Implementation of TR1 result_of. * testsuite/tr1/3_function_objects/result_of.cc: New test From-SVN: r95778
This commit is contained in:
parent
2563c2248f
commit
3c2350009b
@ -1,3 +1,30 @@
|
||||
2005-03-02 Douglas Gregor <doug.gregor@gmail.com>
|
||||
|
||||
* include/tr1/functional (_Has_result_type): Cleanup.
|
||||
(_Result_of_impl): Handle member data pointers correctly.
|
||||
(reference_wrapper): Support invocation.
|
||||
Move repetition code into new file include/tr1/repeat.h.
|
||||
* include/tr1/functional_iterate.h (reference_wrapper): Support
|
||||
invocation. Cleanup long lines.
|
||||
* include/tr1/ref_wrap_iterate.h (reference_wrapper): Declare
|
||||
invocation operators.
|
||||
* include/tr1/repeat.h: Code repetition header.
|
||||
* include/Makefile.am: Add ref_wrap_iterate.h, repeat.h
|
||||
* include/Makefile.in: Add ref_wrap_iterate.h, repeat.h
|
||||
* testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
|
||||
New test of reference_wrapper invocation.
|
||||
* testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
|
||||
New test of reference_wrapper typedefs and base classes.
|
||||
* testsuite/tr1/3_function_objects/result_of.cc: Trivial cleanup
|
||||
(e-mail address).
|
||||
|
||||
2005-03-02 Douglas Gregor <doug.gregor@gmail.com>
|
||||
|
||||
* include/tr1/function (result_of): New class template.
|
||||
* include/tr1/functional/iterator.h: Implementation of TR1
|
||||
result_of.
|
||||
* testsuite/tr1/3_function_objects/result_of.cc: New test
|
||||
|
||||
2005-03-01 Vladimir Merzliakov <wanderer@rsu.ru>
|
||||
|
||||
* testsuite/26_numerics/cmath/c99_classification_macros_c.cc: Tweak.
|
||||
|
@ -231,6 +231,8 @@ tr1_headers = \
|
||||
${tr1_srcdir}/functional \
|
||||
${tr1_srcdir}/functional_iterate.h \
|
||||
${tr1_srcdir}/memory \
|
||||
${tr1_srcdir}/ref_wrap_iterate.h \
|
||||
${tr1_srcdir}/repeat.h \
|
||||
${tr1_srcdir}/tuple \
|
||||
${tr1_srcdir}/utility \
|
||||
${tr1_srcdir}/type_traits \
|
||||
|
@ -447,6 +447,8 @@ tr1_headers = \
|
||||
${tr1_srcdir}/functional \
|
||||
${tr1_srcdir}/functional_iterate.h \
|
||||
${tr1_srcdir}/memory \
|
||||
${tr1_srcdir}/ref_wrap_iterate.h \
|
||||
${tr1_srcdir}/repeat.h \
|
||||
${tr1_srcdir}/tuple \
|
||||
${tr1_srcdir}/utility \
|
||||
${tr1_srcdir}/type_traits \
|
||||
|
@ -45,9 +45,299 @@ namespace std
|
||||
{
|
||||
namespace tr1
|
||||
{
|
||||
template<typename _MemberPointer>
|
||||
class _Mem_fn;
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* Actual implementation of _Has_result_type, which uses SFINAE to
|
||||
* determine if the type _Tp has a publicly-accessible member type
|
||||
* result_type.
|
||||
* @endif
|
||||
*/
|
||||
template<typename _Tp>
|
||||
class _Has_result_type_helper : __sfinae_types
|
||||
{
|
||||
template<typename _Up>
|
||||
struct _Wrap_type
|
||||
{ };
|
||||
|
||||
template<typename _Up>
|
||||
static __one __test(_Wrap_type<typename _Up::result_type>*);
|
||||
|
||||
template<typename _Up>
|
||||
static __two __test(...);
|
||||
|
||||
public:
|
||||
static const bool value = sizeof(__test<_Tp>(0)) == 1;
|
||||
};
|
||||
|
||||
template<typename _Tp>
|
||||
struct _Has_result_type
|
||||
: integral_constant<
|
||||
bool,
|
||||
_Has_result_type_helper<typename remove_cv<_Tp>::type>::value>
|
||||
{ };
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* If we have found a result_type, extract it.
|
||||
* @endif
|
||||
*/
|
||||
template<bool _Has_result_type, typename _Functor>
|
||||
struct _Maybe_get_result_type
|
||||
{ };
|
||||
|
||||
template<typename _Functor>
|
||||
struct _Maybe_get_result_type<true, _Functor>
|
||||
{
|
||||
typedef typename _Functor::result_type result_type;
|
||||
};
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* Base class for any function object that has a weak result type, as
|
||||
* defined in 3.3/3 of TR1.
|
||||
* @endif
|
||||
*/
|
||||
template<typename _Functor>
|
||||
struct _Weak_result_type_impl
|
||||
: _Maybe_get_result_type<_Has_result_type<_Functor>::value, _Functor>
|
||||
{
|
||||
};
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* Strip top-level cv-qualifiers from the function object and let
|
||||
* _Weak_result_type_impl perform the real work.
|
||||
* @endif
|
||||
*/
|
||||
template<typename _Functor>
|
||||
struct _Weak_result_type
|
||||
: _Weak_result_type_impl<typename remove_cv<_Functor>::type>
|
||||
{
|
||||
};
|
||||
|
||||
template<typename _Signature>
|
||||
class result_of;
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* Actual implementation of result_of. When _Has_result_type is
|
||||
* true, gets its result from _Weak_result_type. Otherwise, uses
|
||||
* the function object's member template result to extract the
|
||||
* result type.
|
||||
* @endif
|
||||
*/
|
||||
template<bool _Has_result_type, typename _Signature>
|
||||
struct _Result_of_impl;
|
||||
|
||||
// Handle member data pointers using _Mem_fn's logic
|
||||
template<typename _Res, typename _Class, typename _T1>
|
||||
struct _Result_of_impl<false, _Res _Class::*(_T1)>
|
||||
{
|
||||
typedef typename _Mem_fn<_Res _Class::*>
|
||||
::template _Result_type<_T1>::type type;
|
||||
};
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* Determines if the type _Tp derives from unary_function.
|
||||
* @endif
|
||||
*/
|
||||
template<typename _Tp>
|
||||
struct _Derives_from_unary_function : __sfinae_types
|
||||
{
|
||||
private:
|
||||
template<typename _T1, typename _Res>
|
||||
static __one __test(const volatile unary_function<_T1, _Res>*);
|
||||
|
||||
// It's tempting to change "..." to const volatile void*, but
|
||||
// that fails when _Tp is a function type.
|
||||
static __two __test(...);
|
||||
|
||||
public:
|
||||
static const bool value = sizeof(__test((_Tp*)0)) == 1;
|
||||
};
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* Determines if the type _Tp derives from binary_function.
|
||||
* @endif
|
||||
*/
|
||||
template<typename _Tp>
|
||||
struct _Derives_from_binary_function : __sfinae_types
|
||||
{
|
||||
private:
|
||||
template<typename _T1, typename _T2, typename _Res>
|
||||
static __one __test(const volatile binary_function<_T1, _T2, _Res>*);
|
||||
|
||||
// It's tempting to change "..." to const volatile void*, but
|
||||
// that fails when _Tp is a function type.
|
||||
static __two __test(...);
|
||||
|
||||
public:
|
||||
static const bool value = sizeof(__test((_Tp*)0)) == 1;
|
||||
};
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* Turns a function type into a function pointer type
|
||||
* @endif
|
||||
*/
|
||||
template<typename _Tp, bool _IsFunctionType = is_function<_Tp>::value>
|
||||
struct _Function_to_function_pointer
|
||||
{
|
||||
typedef _Tp type;
|
||||
};
|
||||
|
||||
template<typename _Tp>
|
||||
struct _Function_to_function_pointer<_Tp, true>
|
||||
{
|
||||
typedef _Tp* type;
|
||||
};
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* Knowing which of unary_function and binary_function _Tp derives
|
||||
* from, derives from the same and ensures that reference_wrapper
|
||||
* will have a weak result type. See cases below.
|
||||
* @endif
|
||||
*/
|
||||
template<bool _Unary, bool _Binary, typename _Tp>
|
||||
struct _Reference_wrapper_base_impl;
|
||||
|
||||
// Not a unary_function or binary_function, so try a weak result type
|
||||
template<typename _Tp>
|
||||
struct _Reference_wrapper_base_impl<false, false, _Tp>
|
||||
: _Weak_result_type<_Tp>
|
||||
{ };
|
||||
|
||||
// unary_function but not binary_function
|
||||
template<typename _Tp>
|
||||
struct _Reference_wrapper_base_impl<true, false, _Tp>
|
||||
: unary_function<typename _Tp::argument_type,
|
||||
typename _Tp::result_type>
|
||||
{ };
|
||||
|
||||
// binary_function but not unary_function
|
||||
template<typename _Tp>
|
||||
struct _Reference_wrapper_base_impl<false, true, _Tp>
|
||||
: binary_function<typename _Tp::first_argument_type,
|
||||
typename _Tp::second_argument_type,
|
||||
typename _Tp::result_type>
|
||||
{ };
|
||||
|
||||
// both unary_function and binary_function. import result_type to
|
||||
// avoid conflicts.
|
||||
template<typename _Tp>
|
||||
struct _Reference_wrapper_base_impl<true, true, _Tp>
|
||||
: unary_function<typename _Tp::argument_type,
|
||||
typename _Tp::result_type>,
|
||||
binary_function<typename _Tp::first_argument_type,
|
||||
typename _Tp::second_argument_type,
|
||||
typename _Tp::result_type>
|
||||
{
|
||||
typedef typename _Tp::result_type result_type;
|
||||
};
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* Derives from unary_function or binary_function when it
|
||||
* can. Specializations handle all of the easy cases. The primary
|
||||
* template determines what to do with a class type, which may
|
||||
* derive from both unary_function and binary_function.
|
||||
* @endif
|
||||
*/
|
||||
template<typename _Tp>
|
||||
struct _Reference_wrapper_base
|
||||
: _Reference_wrapper_base_impl<
|
||||
_Derives_from_unary_function<_Tp>::value,
|
||||
_Derives_from_binary_function<_Tp>::value,
|
||||
_Tp>
|
||||
{ };
|
||||
|
||||
// - a function type (unary)
|
||||
template<typename _Res, typename _T1>
|
||||
struct _Reference_wrapper_base<_Res(_T1)>
|
||||
: unary_function<_T1, _Res>
|
||||
{ };
|
||||
|
||||
// - a function type (binary)
|
||||
template<typename _Res, typename _T1, typename _T2>
|
||||
struct _Reference_wrapper_base<_Res(_T1, _T2)>
|
||||
: binary_function<_T1, _T2, _Res>
|
||||
{ };
|
||||
|
||||
// - a function pointer type (unary)
|
||||
template<typename _Res, typename _T1>
|
||||
struct _Reference_wrapper_base<_Res(*)(_T1)>
|
||||
: unary_function<_T1, _Res>
|
||||
{ };
|
||||
|
||||
// - a function pointer type (binary)
|
||||
template<typename _Res, typename _T1, typename _T2>
|
||||
struct _Reference_wrapper_base<_Res(*)(_T1, _T2)>
|
||||
: binary_function<_T1, _T2, _Res>
|
||||
{ };
|
||||
|
||||
// - a pointer to member function type (unary, no qualifiers)
|
||||
template<typename _Res, typename _T1>
|
||||
struct _Reference_wrapper_base<_Res (_T1::*)()>
|
||||
: unary_function<_T1*, _Res>
|
||||
{ };
|
||||
|
||||
// - a pointer to member function type (binary, no qualifiers)
|
||||
template<typename _Res, typename _T1, typename _T2>
|
||||
struct _Reference_wrapper_base<_Res (_T1::*)(_T2)>
|
||||
: binary_function<_T1*, _T2, _Res>
|
||||
{ };
|
||||
|
||||
// - a pointer to member function type (unary, const)
|
||||
template<typename _Res, typename _T1>
|
||||
struct _Reference_wrapper_base<_Res (_T1::*)() const>
|
||||
: unary_function<const _T1*, _Res>
|
||||
{ };
|
||||
|
||||
// - a pointer to member function type (binary, const)
|
||||
template<typename _Res, typename _T1, typename _T2>
|
||||
struct _Reference_wrapper_base<_Res (_T1::*)(_T2) const>
|
||||
: binary_function<const _T1*, _T2, _Res>
|
||||
{ };
|
||||
|
||||
// - a pointer to member function type (unary, volatile)
|
||||
template<typename _Res, typename _T1>
|
||||
struct _Reference_wrapper_base<_Res (_T1::*)() volatile>
|
||||
: unary_function<volatile _T1*, _Res>
|
||||
{ };
|
||||
|
||||
// - a pointer to member function type (binary, volatile)
|
||||
template<typename _Res, typename _T1, typename _T2>
|
||||
struct _Reference_wrapper_base<_Res (_T1::*)(_T2) volatile>
|
||||
: binary_function<volatile _T1*, _T2, _Res>
|
||||
{ };
|
||||
|
||||
// - a pointer to member function type (unary, const volatile)
|
||||
template<typename _Res, typename _T1>
|
||||
struct _Reference_wrapper_base<_Res (_T1::*)() const volatile>
|
||||
: unary_function<const volatile _T1*, _Res>
|
||||
{ };
|
||||
|
||||
// - a pointer to member function type (binary, const volatile)
|
||||
template<typename _Res, typename _T1, typename _T2>
|
||||
struct _Reference_wrapper_base<_Res (_T1::*)(_T2) const volatile>
|
||||
: binary_function<const volatile _T1*, _T2, _Res>
|
||||
{ };
|
||||
|
||||
template<typename _Tp>
|
||||
class reference_wrapper
|
||||
: public _Reference_wrapper_base<typename remove_cv<_Tp>::type>
|
||||
{
|
||||
// If _Tp is a function type, we can't form result_of<_Tp(...)>,
|
||||
// so turn it into a function pointer type.
|
||||
typedef typename _Function_to_function_pointer<_Tp>::type
|
||||
_M_func_type;
|
||||
|
||||
_Tp* _M_data;
|
||||
public:
|
||||
typedef _Tp type;
|
||||
@ -71,8 +361,13 @@ namespace tr1
|
||||
_Tp&
|
||||
get() const
|
||||
{ return *_M_data; }
|
||||
|
||||
#define _GLIBCXX_REPEAT_HEADER <tr1/ref_wrap_iterate.h>
|
||||
#include <tr1/repeat.h>
|
||||
#undef _GLIBCXX_REPEAT_HEADER
|
||||
};
|
||||
|
||||
|
||||
// Denotes a reference should be taken to a variable.
|
||||
template<typename _Tp>
|
||||
reference_wrapper<_Tp>
|
||||
@ -93,9 +388,6 @@ namespace tr1
|
||||
reference_wrapper<const _Tp> cref(reference_wrapper<_Tp> __t)
|
||||
{ return cref(__t.get()); }
|
||||
|
||||
template<typename _MemberPointer>
|
||||
class _Mem_fn;
|
||||
|
||||
template<typename _Tp, bool>
|
||||
struct _Mem_fn_const_or_non
|
||||
{
|
||||
@ -151,6 +443,7 @@ namespace tr1
|
||||
template<typename _Tp>
|
||||
static __sfinae_types::__two __check_const(_Tp&, const volatile void*);
|
||||
|
||||
public:
|
||||
template<typename _Tp>
|
||||
struct _Result_type
|
||||
: _Mem_fn_const_or_non<
|
||||
@ -159,7 +452,6 @@ namespace tr1
|
||||
== sizeof(__check_const<_Tp>(__get_ref<_Tp>(), (_Tp*)0)))>
|
||||
{ };
|
||||
|
||||
public:
|
||||
explicit _Mem_fn(_Res _Class::*__pm) : __pm(__pm) { }
|
||||
|
||||
// Handle objects
|
||||
@ -489,510 +781,6 @@ namespace tr1
|
||||
_Manager_type _M_manager;
|
||||
};
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 0
|
||||
#define _GLIBCXX_COMMA
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS
|
||||
#define _GLIBCXX_TEMPLATE_ARGS
|
||||
#define _GLIBCXX_PARAMS
|
||||
#define _GLIBCXX_ARGS
|
||||
#define _GLIBCXX_COMMA_SHIFTED
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#define _GLIBCXX_PARAMS_SHIFTED
|
||||
#define _GLIBCXX_ARGS_SHIFTED
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 1
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1
|
||||
#define _GLIBCXX_PARAMS _T1 __a1
|
||||
#define _GLIBCXX_ARGS __a1
|
||||
#define _GLIBCXX_COMMA_SHIFTED
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#define _GLIBCXX_PARAMS_SHIFTED
|
||||
#define _GLIBCXX_ARGS_SHIFTED
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 2
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2
|
||||
#define _GLIBCXX_ARGS __a1, __a2
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 3
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 4
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 5
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 6
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 7
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 8
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 9
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 10
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 11
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 12
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 13
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 14
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 15
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 16
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 17
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 18
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17, typename _T18
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17, _T18
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17, _T18 __a18
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17, __a18
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 19
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17, typename _T18, typename _T19
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17, _T18, _T19
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17, _T18 __a18, _T19 __a19
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17, __a18, __a19
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17, typename _T18
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17, _T18
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17, _T18 __a18
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17, __a18
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 20
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17, typename _T18, typename _T19, typename _T20
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17, _T18, _T19, _T20
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17, _T18 __a18, _T19 __a19, _T20 __a20
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17, __a18, __a19, __a20
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17, typename _T18, typename _T19
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17, _T18, _T19
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17, _T18 __a18, _T19 __a19
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17, __a18, __a19
|
||||
#include <tr1/functional_iterate.h>
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
// [3.7.2.7] null pointer comparisons
|
||||
|
||||
/**
|
||||
@ -1057,6 +845,9 @@ namespace tr1
|
||||
__x.swap(__y);
|
||||
}
|
||||
|
||||
#define _GLIBCXX_REPEAT_HEADER <tr1/functional_iterate.h>
|
||||
#include <tr1/repeat.h>
|
||||
#undef _GLIBCXX_REPEAT_HEADER
|
||||
|
||||
// Definition of default hash function std::tr1::hash<>. The types for
|
||||
// which std::tr1::hash<T> is defined is in clause 6.3.3. of the PDTR.
|
||||
|
@ -1,7 +1,7 @@
|
||||
// TR1 functional -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
// Writtten by Douglas Gregor <dgregor@cs.indiana.edu>
|
||||
// Written by Douglas Gregor <doug.gregor -at- gmail.com>
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
@ -33,6 +33,145 @@
|
||||
* You should not attempt to use it directly.
|
||||
*/
|
||||
|
||||
template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
|
||||
struct _Weak_result_type_impl<_Res(_GLIBCXX_TEMPLATE_ARGS)>
|
||||
{
|
||||
typedef _Res result_type;
|
||||
};
|
||||
|
||||
template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
|
||||
struct _Weak_result_type_impl<_Res (&)(_GLIBCXX_TEMPLATE_ARGS)>
|
||||
{
|
||||
typedef _Res result_type;
|
||||
};
|
||||
|
||||
template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
|
||||
struct _Weak_result_type_impl<_Res (*)(_GLIBCXX_TEMPLATE_ARGS)>
|
||||
{
|
||||
typedef _Res result_type;
|
||||
};
|
||||
|
||||
#if _GLIBCXX_NUM_ARGS > 0
|
||||
template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
|
||||
_GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
|
||||
struct _Weak_result_type_impl<
|
||||
_Res (_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED)>
|
||||
{
|
||||
typedef _Res result_type;
|
||||
};
|
||||
|
||||
template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
|
||||
_GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
|
||||
struct _Weak_result_type_impl<
|
||||
_Res (_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED) const>
|
||||
{
|
||||
typedef _Res result_type;
|
||||
};
|
||||
|
||||
template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
|
||||
_GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
|
||||
struct _Weak_result_type_impl<
|
||||
_Res (_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED) volatile>
|
||||
{
|
||||
typedef _Res result_type;
|
||||
};
|
||||
|
||||
template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
|
||||
_GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
|
||||
struct _Weak_result_type_impl<
|
||||
_Res (_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED) const volatile>
|
||||
{
|
||||
typedef _Res result_type;
|
||||
};
|
||||
#endif
|
||||
|
||||
template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
|
||||
class result_of<_Functor(_GLIBCXX_TEMPLATE_ARGS)>
|
||||
: public _Result_of_impl<
|
||||
_Has_result_type<_Weak_result_type<_Functor> >::value,
|
||||
_Functor(_GLIBCXX_TEMPLATE_ARGS)>
|
||||
{ };
|
||||
|
||||
template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
|
||||
struct _Result_of_impl<true, _Functor(_GLIBCXX_TEMPLATE_ARGS)>
|
||||
{
|
||||
typedef typename _Weak_result_type<_Functor>::result_type type;
|
||||
};
|
||||
|
||||
template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
|
||||
struct _Result_of_impl<false, _Functor(_GLIBCXX_TEMPLATE_ARGS)>
|
||||
{
|
||||
#if _GLIBCXX_NUM_ARGS > 0
|
||||
typedef typename _Functor
|
||||
::template result<_Functor(_GLIBCXX_TEMPLATE_ARGS)>::type type;
|
||||
#else
|
||||
typedef void type;
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* Invoke a function object, which may be either a member pointer or a
|
||||
* function object. The first parameter will tell which.
|
||||
* @endif
|
||||
*/
|
||||
template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
|
||||
inline
|
||||
typename __enable_if<
|
||||
typename result_of<_Functor(_GLIBCXX_TEMPLATE_ARGS)>::type,
|
||||
(!is_member_pointer<_Functor>::value
|
||||
&& !is_function<_Functor>::value
|
||||
&& !is_function<typename remove_pointer<_Functor>::type>::value)
|
||||
>::__type
|
||||
__invoke(_Functor& __f _GLIBCXX_COMMA _GLIBCXX_REF_PARAMS)
|
||||
{
|
||||
return __f(_GLIBCXX_ARGS);
|
||||
}
|
||||
|
||||
#if _GLIBCXX_NUM_ARGS > 0
|
||||
template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
|
||||
inline
|
||||
typename __enable_if<
|
||||
typename result_of<_Functor(_GLIBCXX_TEMPLATE_ARGS)>::type,
|
||||
(is_member_pointer<_Functor>::value
|
||||
&& !is_function<_Functor>::value
|
||||
&& !is_function<typename remove_pointer<_Functor>::type>::value)
|
||||
>::__type
|
||||
__invoke(_Functor& __f _GLIBCXX_COMMA _GLIBCXX_REF_PARAMS)
|
||||
{
|
||||
return mem_fn(__f)(_GLIBCXX_ARGS);
|
||||
}
|
||||
#endif
|
||||
|
||||
// To pick up function references (that will become function pointers)
|
||||
template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
|
||||
inline
|
||||
typename __enable_if<
|
||||
typename result_of<_Functor(_GLIBCXX_TEMPLATE_ARGS)>::type,
|
||||
(is_pointer<_Functor>::value
|
||||
&& is_function<typename remove_pointer<_Functor>::type>::value)
|
||||
>::__type
|
||||
__invoke(_Functor __f _GLIBCXX_COMMA _GLIBCXX_REF_PARAMS)
|
||||
{
|
||||
return __f(_GLIBCXX_ARGS);
|
||||
}
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* Implementation of reference_wrapper::operator()
|
||||
* @endif
|
||||
*/
|
||||
#if _GLIBCXX_NUM_ARGS > 0
|
||||
template<typename _Tp>
|
||||
template<_GLIBCXX_TEMPLATE_PARAMS>
|
||||
typename result_of<
|
||||
typename reference_wrapper<_Tp>::_M_func_type(_GLIBCXX_TEMPLATE_ARGS)>::type
|
||||
reference_wrapper<_Tp>::operator()(_GLIBCXX_REF_PARAMS) const
|
||||
{
|
||||
return __invoke(get(), _GLIBCXX_ARGS);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if _GLIBCXX_NUM_ARGS > 0
|
||||
template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
|
||||
_GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
|
||||
@ -197,7 +336,7 @@ template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
|
||||
|
||||
template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
|
||||
_GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
|
||||
class _Mem_fn<_Res (_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED) const volatile>
|
||||
class _Mem_fn<_Res(_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED) const volatile>
|
||||
#if _GLIBCXX_NUM_ARGS == 1
|
||||
: public unary_function<const volatile _Class*, _Res>
|
||||
#elif _GLIBCXX_NUM_ARGS == 2
|
||||
@ -600,7 +739,8 @@ class function<_Res(_GLIBCXX_TEMPLATE_ARGS)>
|
||||
template<typename _Function>
|
||||
void operator!=(const function<_Function>&) const;
|
||||
|
||||
typedef _Res (*_Invoker_type)(const _Any_data& _GLIBCXX_COMMA _GLIBCXX_PARAMS);
|
||||
typedef _Res (*_Invoker_type)(const _Any_data& _GLIBCXX_COMMA
|
||||
_GLIBCXX_PARAMS);
|
||||
_Invoker_type _M_invoker;
|
||||
};
|
||||
|
||||
@ -632,7 +772,8 @@ template<typename _Functor>
|
||||
}
|
||||
|
||||
template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
|
||||
_Res function<_Res(_GLIBCXX_TEMPLATE_ARGS)>::operator()(_GLIBCXX_PARAMS) const
|
||||
_Res
|
||||
function<_Res(_GLIBCXX_TEMPLATE_ARGS)>::operator()(_GLIBCXX_PARAMS) const
|
||||
{
|
||||
if (_M_empty())
|
||||
{
|
||||
|
44
libstdc++-v3/include/tr1/ref_wrap_iterate.h
Normal file
44
libstdc++-v3/include/tr1/ref_wrap_iterate.h
Normal file
@ -0,0 +1,44 @@
|
||||
// TR1 reference_wrapper -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
// Written by Douglas Gregor <doug.gregor -at- gmail.com>
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 2, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING. If not, write to the Free
|
||||
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
// USA.
|
||||
|
||||
// As a special exception, you may use this file as part of a free software
|
||||
// library without restriction. Specifically, if other files instantiate
|
||||
// templates or use macros or inline functions from this file, or you compile
|
||||
// this file and link it with other files to produce an executable, this
|
||||
// file does not by itself cause the resulting executable to be covered by
|
||||
// the GNU General Public License. This exception does not however
|
||||
// invalidate any other reasons why the executable file might be covered by
|
||||
// the GNU General Public License.
|
||||
|
||||
/** @file ref_wrap_iterate.h
|
||||
* This is an internal header file, included by other library headers.
|
||||
* You should not attempt to use it directly.
|
||||
*/
|
||||
|
||||
#if _GLIBCXX_NUM_ARGS > 0
|
||||
template<_GLIBCXX_TEMPLATE_PARAMS>
|
||||
typename result_of<_M_func_type(_GLIBCXX_TEMPLATE_ARGS)>::type
|
||||
operator()(_GLIBCXX_REF_PARAMS) const;
|
||||
#else
|
||||
typename result_of<_M_func_type()>::type
|
||||
operator()() const
|
||||
{ return (*get())(); }
|
||||
#endif
|
585
libstdc++-v3/include/tr1/repeat.h
Normal file
585
libstdc++-v3/include/tr1/repeat.h
Normal file
@ -0,0 +1,585 @@
|
||||
// TR1 code repetition -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
// Written by Douglas Gregor <doug.gregor -at- gmail.com>
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 2, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING. If not, write to the Free
|
||||
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
// USA.
|
||||
|
||||
// As a special exception, you may use this file as part of a free software
|
||||
// library without restriction. Specifically, if other files instantiate
|
||||
// templates or use macros or inline functions from this file, or you compile
|
||||
// this file and link it with other files to produce an executable, this
|
||||
// file does not by itself cause the resulting executable to be covered by
|
||||
// the GNU General Public License. This exception does not however
|
||||
// invalidate any other reasons why the executable file might be covered by
|
||||
// the GNU General Public License.
|
||||
|
||||
/** @file repeat.h
|
||||
* This is an internal header file, included by other library headers.
|
||||
* You should not attempt to use it directly.
|
||||
*/
|
||||
|
||||
#ifndef _GLIBCXX_REPEAT_HEADER
|
||||
# error Internal error: _GLIBCXX_REPEAT_HEADER must be set
|
||||
#endif /* _GLIBCXX_REPEAT_HEADER */
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 0
|
||||
#define _GLIBCXX_COMMA
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS
|
||||
#define _GLIBCXX_TEMPLATE_ARGS
|
||||
#define _GLIBCXX_PARAMS
|
||||
#define _GLIBCXX_REF_PARAMS
|
||||
#define _GLIBCXX_ARGS
|
||||
#define _GLIBCXX_COMMA_SHIFTED
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#define _GLIBCXX_PARAMS_SHIFTED
|
||||
#define _GLIBCXX_ARGS_SHIFTED
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 1
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1
|
||||
#define _GLIBCXX_PARAMS _T1 __a1
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1
|
||||
#define _GLIBCXX_ARGS __a1
|
||||
#define _GLIBCXX_COMMA_SHIFTED
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#define _GLIBCXX_PARAMS_SHIFTED
|
||||
#define _GLIBCXX_ARGS_SHIFTED
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 2
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2
|
||||
#define _GLIBCXX_ARGS __a1, __a2
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 3
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 4
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 5
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 6
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 7
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 8
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 9
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 10
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 11
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10, _T11& __a11
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 12
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10, _T11& __a11, _T12& __a12
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 13
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10, _T11& __a11, _T12& __a12, _T13& __a13
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 14
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10, _T11& __a11, _T12& __a12, _T13& __a13, _T14& __a14
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 15
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10, _T11& __a11, _T12& __a12, _T13& __a13, _T14& __a14, _T15& __a15
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 16
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10, _T11& __a11, _T12& __a12, _T13& __a13, _T14& __a14, _T15& __a15, _T16& __a16
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 17
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10, _T11& __a11, _T12& __a12, _T13& __a13, _T14& __a14, _T15& __a15, _T16& __a16, _T17& __a17
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 18
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17, typename _T18
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17, _T18
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17, _T18 __a18
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10, _T11& __a11, _T12& __a12, _T13& __a13, _T14& __a14, _T15& __a15, _T16& __a16, _T17& __a17, _T18& __a18
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17, __a18
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 19
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17, typename _T18, typename _T19
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17, _T18, _T19
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17, _T18 __a18, _T19 __a19
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10, _T11& __a11, _T12& __a12, _T13& __a13, _T14& __a14, _T15& __a15, _T16& __a16, _T17& __a17, _T18& __a18, _T19& __a19
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17, __a18, __a19
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17, typename _T18
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17, _T18
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17, _T18 __a18
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17, __a18
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
||||
#define _GLIBCXX_NUM_ARGS 20
|
||||
#define _GLIBCXX_COMMA ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17, typename _T18, typename _T19, typename _T20
|
||||
#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17, _T18, _T19, _T20
|
||||
#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17, _T18 __a18, _T19 __a19, _T20 __a20
|
||||
#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10, _T11& __a11, _T12& __a12, _T13& __a13, _T14& __a14, _T15& __a15, _T16& __a16, _T17& __a17, _T18& __a18, _T19& __a19, _T20& __a20
|
||||
#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17, __a18, __a19, __a20
|
||||
#define _GLIBCXX_COMMA_SHIFTED ,
|
||||
#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10, typename _T11, typename _T12, typename _T13, typename _T14, typename _T15, typename _T16, typename _T17, typename _T18, typename _T19
|
||||
#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, _T16, _T17, _T18, _T19
|
||||
#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10, _T11 __a11, _T12 __a12, _T13 __a13, _T14 __a14, _T15 __a15, _T16 __a16, _T17 __a17, _T18 __a18, _T19 __a19
|
||||
#define _GLIBCXX_ARGS_SHIFTED __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10, __a11, __a12, __a13, __a14, __a15, __a16, __a17, __a18, __a19
|
||||
#include _GLIBCXX_REPEAT_HEADER
|
||||
#undef _GLIBCXX_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
|
||||
#undef _GLIBCXX_COMMA_SHIFTED
|
||||
#undef _GLIBCXX_ARGS
|
||||
#undef _GLIBCXX_REF_PARAMS
|
||||
#undef _GLIBCXX_PARAMS
|
||||
#undef _GLIBCXX_TEMPLATE_ARGS
|
||||
#undef _GLIBCXX_TEMPLATE_PARAMS
|
||||
#undef _GLIBCXX_COMMA
|
||||
#undef _GLIBCXX_NUM_ARGS
|
||||
|
@ -0,0 +1,103 @@
|
||||
// 2005-02-27 Douglas Gregor <doug.gregor -at- gmail.com>
|
||||
//
|
||||
// Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 2, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING. If not, write to the Free
|
||||
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
// USA.
|
||||
|
||||
// 2.1 reference wrappers
|
||||
#include <tr1/functional>
|
||||
#include <tr1/type_traits>
|
||||
#include <testsuite_hooks.h>
|
||||
#include <testsuite_tr1.h>
|
||||
|
||||
using namespace __gnu_test;
|
||||
|
||||
bool test __attribute__((unused)) = true;
|
||||
|
||||
struct X
|
||||
{
|
||||
typedef int result_type;
|
||||
|
||||
X() : bar(17) {}
|
||||
|
||||
int foo(float x) { return truncate_float(x); }
|
||||
int foo_c(float x) const { return truncate_float(x); }
|
||||
int foo_v(float x) volatile { return truncate_float(x); }
|
||||
int foo_cv(float x) const volatile { return truncate_float(x); }
|
||||
|
||||
int operator()(float x)
|
||||
{
|
||||
return foo(x) + 1;
|
||||
}
|
||||
|
||||
int operator()(float x) const
|
||||
{
|
||||
return foo_c(x) + 2;
|
||||
}
|
||||
|
||||
int bar;
|
||||
|
||||
private:
|
||||
X(const X&);
|
||||
X& operator=(const X&);
|
||||
};
|
||||
|
||||
void test01()
|
||||
{
|
||||
using std::tr1::ref;
|
||||
using std::tr1::cref;
|
||||
|
||||
::X x;
|
||||
::X* xp = &x;
|
||||
int (::X::* p_foo)(float) = &::X::foo;
|
||||
int (::X::* p_foo_c)(float) const = &::X::foo_c;
|
||||
int (::X::* p_foo_v)(float) volatile = &::X::foo_v;
|
||||
int (::X::* p_foo_cv)(float) const volatile = &::X::foo_cv;
|
||||
int ::X::* p_bar = &::X::bar;
|
||||
|
||||
const float pi = 3.14;
|
||||
|
||||
// Functions
|
||||
VERIFY(ref(truncate_float)(pi) == 3);
|
||||
|
||||
// Function pointers
|
||||
VERIFY(cref(&truncate_float)(pi) == 3);
|
||||
|
||||
// Member function pointers
|
||||
VERIFY(ref(p_foo)(x, pi) == 3);
|
||||
VERIFY(ref(p_foo)(xp, pi) == 3);
|
||||
VERIFY(ref(p_foo_c)(x, pi) == 3);
|
||||
VERIFY(ref(p_foo_c)(xp, pi) == 3);
|
||||
VERIFY(ref(p_foo_v)(x, pi) == 3);
|
||||
VERIFY(ref(p_foo_v)(xp, pi) == 3);
|
||||
VERIFY(ref(p_foo_cv)(x, pi) == 3);
|
||||
VERIFY(ref(p_foo_cv)(xp, pi) == 3);
|
||||
|
||||
// Member data pointers
|
||||
VERIFY(ref(p_bar)(x) == 17);
|
||||
VERIFY(ref(p_bar)(xp) == 17);
|
||||
|
||||
// Function objects
|
||||
VERIFY(ref(x)(pi) == 4);
|
||||
VERIFY(cref(x)(pi) == 5);
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
test01();
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,89 @@
|
||||
// 2005-02-27 Douglas Gregor <doug.gregor -at- gmail.com>
|
||||
//
|
||||
// Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 2, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING. If not, write to the Free
|
||||
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
// USA.
|
||||
|
||||
// 2.1 reference wrappers
|
||||
#include <tr1/functional>
|
||||
#include <tr1/type_traits>
|
||||
#include <testsuite_hooks.h>
|
||||
#include <testsuite_tr1.h>
|
||||
|
||||
using namespace __gnu_test;
|
||||
|
||||
struct X {};
|
||||
|
||||
struct int_result_type { typedef int result_type; };
|
||||
|
||||
struct derives_unary : std::unary_function<int, int> {};
|
||||
|
||||
struct derives_binary : std::binary_function<int, float, int> {};
|
||||
|
||||
struct derives_unary_binary
|
||||
: std::unary_function<int, int>,
|
||||
std::binary_function<int, float, int>
|
||||
{
|
||||
typedef int result_type;
|
||||
};
|
||||
|
||||
void test01()
|
||||
{
|
||||
bool test __attribute__((unused)) = true;
|
||||
|
||||
using std::tr1::reference_wrapper;
|
||||
using std::tr1::is_same;
|
||||
using std::tr1::is_convertible;
|
||||
using std::unary_function;
|
||||
using std::binary_function;
|
||||
|
||||
// Check result_type typedef
|
||||
VERIFY((is_same<reference_wrapper<int_result_type>::result_type, int>::value));
|
||||
VERIFY((is_same<reference_wrapper<derives_unary>::result_type, int>::value));
|
||||
VERIFY((is_same<reference_wrapper<derives_binary>::result_type, int>::value));
|
||||
VERIFY((is_same<reference_wrapper<derives_unary_binary>::result_type, int>::value));
|
||||
VERIFY((is_same<reference_wrapper<int(void)>::result_type, int>::value));
|
||||
VERIFY((is_same<reference_wrapper<int(*)(void)>::result_type, int>::value));
|
||||
VERIFY((is_same<reference_wrapper<int (::X::*)()>::result_type, int>::value));
|
||||
VERIFY((is_same<reference_wrapper<int (::X::*)(float)>::result_type, int>::value));
|
||||
|
||||
// Check derivation from unary_function
|
||||
VERIFY((is_convertible<reference_wrapper<derives_unary>*, unary_function<int, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<derives_unary_binary>*, unary_function<int, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<int(int)>*, unary_function<int, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<int(*)(int)>*, unary_function<int, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<int (::X::*)()>*, unary_function< ::X*, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<int (::X::*)() const>*, unary_function<const ::X*, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<int (::X::*)() volatile>*, unary_function<volatile ::X*, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<int (::X::*)() const volatile>*, unary_function<const volatile ::X*, int>*>::value));
|
||||
|
||||
// Check derivation from binary_function
|
||||
VERIFY((is_convertible<reference_wrapper<derives_binary>*, binary_function<int, float, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<derives_unary_binary>*, binary_function<int, float, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<int(int, float)>*, binary_function<int, float, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<int(*)(int, float)>*, binary_function<int, float, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<int (::X::*)(float)>*, binary_function< ::X*, float, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<int (::X::*)(float) const>*, binary_function<const ::X*, float, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<int (::X::*)(float) volatile>*, binary_function<volatile ::X*, float, int>*>::value));
|
||||
VERIFY((is_convertible<reference_wrapper<int (::X::*)(float) const volatile>*, binary_function<const volatile ::X*, float, int>*>::value));
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
test01();
|
||||
return 0;
|
||||
}
|
75
libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc
Normal file
75
libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc
Normal file
@ -0,0 +1,75 @@
|
||||
// 2005-01-26 Douglas Gregor <doug.gregor -at- gmail.com>
|
||||
//
|
||||
// Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 2, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this library; see the file COPYING. If not, write to the Free
|
||||
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
// USA.
|
||||
|
||||
// 3.4 function return types
|
||||
#include <tr1/functional>
|
||||
#include <tr1/type_traits>
|
||||
#include <testsuite_hooks.h>
|
||||
#include <testsuite_tr1.h>
|
||||
|
||||
class X {};
|
||||
|
||||
struct int_result_type { typedef int result_type; };
|
||||
|
||||
struct int_result_of
|
||||
{
|
||||
template<typename F> struct result { typedef int type; };
|
||||
};
|
||||
|
||||
struct int_result_type_and_float_result_of
|
||||
{
|
||||
typedef int result_type;
|
||||
template<typename F> struct result { typedef float type; };
|
||||
};
|
||||
|
||||
void test01()
|
||||
{
|
||||
bool test __attribute__((unused)) = true;
|
||||
|
||||
using std::tr1::result_of;
|
||||
using std::tr1::is_same;
|
||||
using namespace __gnu_test;
|
||||
|
||||
typedef int (*func_ptr)(float, double);
|
||||
typedef int (&func_ref)(float, double);
|
||||
typedef int (::X::*mem_func_ptr)(float);
|
||||
typedef int (::X::*mem_func_ptr_c)(float) const;
|
||||
typedef int (::X::*mem_func_ptr_v)(float) volatile;
|
||||
typedef int (::X::*mem_func_ptr_cv)(float) const volatile;
|
||||
|
||||
VERIFY((is_same<result_of<int_result_type(float)>::type, int>::value));
|
||||
VERIFY((is_same<result_of<int_result_of(double)>::type, int>::value));
|
||||
VERIFY((is_same<result_of<int_result_of(void)>::type, void>::value));
|
||||
VERIFY((is_same<result_of<const int_result_of(double)>::type, int>::value));
|
||||
VERIFY((is_same<result_of<volatile int_result_of(void)>::type, void>::value));
|
||||
VERIFY((is_same<result_of<int_result_type_and_float_result_of(char)>::type, int>::value));
|
||||
VERIFY((is_same<result_of<func_ptr(char, float)>::type, int>::value));
|
||||
VERIFY((is_same<result_of<func_ref(char, float)>::type, int>::value));
|
||||
VERIFY((is_same<result_of<mem_func_ptr(::X,char)>::type, int>::value));
|
||||
VERIFY((is_same<result_of<mem_func_ptr_c(::X,char)>::type, int>::value));
|
||||
VERIFY((is_same<result_of<mem_func_ptr_v(::X,char)>::type, int>::value));
|
||||
VERIFY((is_same<result_of<mem_func_ptr_cv(::X,char)>::type, int>::value));
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
test01();
|
||||
return 0;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user