⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xxbind1

📁 C语言库函数的原型,有用的拿去
💻
📖 第 1 页 / 共 3 页
字号:

  #ifndef _M_CEE
template<class _Ret,
	class _Rx
	_C_CLASS_FARG0
	_C_CLASS_ARG0> inline
	typename enable_if<!is_same<_Ret, _Rx>::value,
		_Bind<_Ret,
			_Rx,
			_BINDN<_Callable_fun<_Rx(__fastcall * const)(_FARG0_FARG1)> _C_ARG0_ARG1> >
		>::type
			bind(_Rx(__fastcall * const _Val)(_FARG0_FARG1) _C_ARG0_A0)
	{	// bind to pointer to function and user-specified return type
	typedef _Callable_fun<_Rx(__fastcall * const)(_FARG0_FARG1)> _Callable;
	typedef _BINDN<_Callable _C_ARG0_ARG1> _MyBind;
	return (_Bind<_Ret, _Rx, _MyBind>(_MyBind(_Val _C_A0_A1)));
	}

template<class _Rx
	_C_CLASS_FARG0
	_C_CLASS_ARG0> inline
	_Bind<_Rx,
		_Rx,
		_BINDN<_Callable_fun<_Rx(__fastcall * const)(_FARG0_FARG1)> _C_ARG0_ARG1> >
			bind(_Rx(__fastcall * const _Val)(_FARG0_FARG1) _C_ARG0_A0)
	{	// bind to pointer to function
	typedef _Callable_fun<_Rx(__fastcall * const)(_FARG0_FARG1)> _Callable;
	typedef _BINDN<_Callable _C_ARG0_ARG1> _MyBind;
	return (_Bind<_Rx, _Rx, _MyBind>(_MyBind(_Val _C_A0_A1)));
	}
  #endif /* _M_CEE */
 #endif /* _M_IX86 */

 #ifdef _M_CEE
template<class _Ret,
	class _Rx
	_C_CLASS_FARG0
	_C_CLASS_ARG0> inline
	typename enable_if<!is_same<_Ret, _Rx>::value,
		_Bind<_Ret,
			_Rx,
			_BINDN<_Callable_fun<_Rx(__clrcall * const)(_FARG0_FARG1)> _C_ARG0_ARG1> >
		>::type
			bind(_Rx(__clrcall * const _Val)(_FARG0_FARG1) _C_ARG0_A0)
	{	// bind to pointer to function and user-specified return type
	typedef _Callable_fun<_Rx(__clrcall * const)(_FARG0_FARG1)> _Callable;
	typedef _BINDN<_Callable _C_ARG0_ARG1> _MyBind;
	return (_Bind<_Ret, _Rx, _MyBind>(_MyBind(_Val _C_A0_A1)));
	}

template<class _Rx
	_C_CLASS_FARG0
	_C_CLASS_ARG0> inline
	_Bind<_Rx,
		_Rx,
		_BINDN<_Callable_fun<_Rx(__clrcall * const)(_FARG0_FARG1)> _C_ARG0_ARG1> >
			bind(_Rx(__clrcall * const _Val)(_FARG0_FARG1) _C_ARG0_A0)
	{	// bind to pointer to function
	typedef _Callable_fun<_Rx(__clrcall * const)(_FARG0_FARG1)> _Callable;
	typedef _BINDN<_Callable _C_ARG0_ARG1> _MyBind;
	return (_Bind<_Rx, _Rx, _MyBind>(_MyBind(_Val _C_A0_A1)));
	}
 #endif /* _M_CEE */


 #if _NARGS == 1
template<class _Ret,
	class _Rx,
	class _Farg0,
	class _Arg0> inline
	_Bind<_Ret,
		_Rx,
		_BINDN<_Callable_pmd<_Rx _Farg0::*const, _Farg0>, _Arg0> >
			bind(_Rx _Farg0::* const _Val, _Arg0 _A0)
	{	// bind to pointer to member data and user-specified return type
	typedef _Callable_pmd<_Rx _Farg0::*const, _Farg0> _Callable;
	typedef _BINDN<_Callable, _Arg0> _MyBind;
	return (_Bind<_Ret, _Rx, _MyBind>(_MyBind(_Val, _A0)));
	}

template<class _Rx,
	class _Farg0,
	class _Arg0> inline
	_Bind<_Notforced,
		_Rx,
		_BINDN<_Callable_pmd<_Rx _Farg0::*const, _Farg0>, _Arg0> >
			bind(_Rx _Farg0::* const _Val, _Arg0 _A0)
	{	// bind to pointer to member data
	typedef _Callable_pmd<_Rx _Farg0::*const, _Farg0> _Callable;
	typedef _BINDN<_Callable, _Arg0> _MyBind;
	return (_Bind<_Notforced, _Rx, _MyBind>(_MyBind(_Val, _A0)));
	}
 #endif /* _NARGS == 1 */

 #if _NARGS != 0
template<class _Ret,
	class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	typename enable_if<!is_same<_Ret, _Rx>::value,
		_Bind<_Ret,
			_Rx,
			_BINDN<_Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2), _Farg0>,
				_ARG0_ARG1> >
		>::type
				bind(_Rx(__thiscall _Farg0::* const _Val)(_FARG1_FARG2) _C_ARG0_A0)
	{	// bind to pointer to member function and user-specified return type
	typedef _Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2), _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Ret, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	_Bind<_Rx,
		_Rx,
		_BINDN<_Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2), _Farg0>,
			_ARG0_ARG1> >
			bind(_Rx(__thiscall _Farg0::* const _Val)(_FARG1_FARG2) _C_ARG0_A0)
	{	// bind to pointer to member function
	typedef _Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2), _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Rx, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Ret,
	class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	typename enable_if<!is_same<_Ret, _Rx>::value,
		_Bind<_Ret,
			_Rx,
			_BINDN<_Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2) const,
				_Farg0>, _ARG0_ARG1> >
		>::type
			bind(_Rx(__thiscall _Farg0::* const _Val)(_FARG1_FARG2) const _C_ARG0_A0)
	{	// bind to pointer to const member function and user-specified return
	typedef _Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2) const, _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Ret, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	_Bind<_Rx,
		_Rx,
		_BINDN<_Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2) const,
			_Farg0>, _ARG0_ARG1> >
			bind(_Rx(__thiscall _Farg0::* const _Val)(_FARG1_FARG2) const _C_ARG0_A0)
	{	// bind to pointer to const member function
	typedef _Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2) const, _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Rx, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Ret,
	class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	typename enable_if<!is_same<_Ret, _Rx>::value,
		_Bind<_Ret,
			_Rx,
			_BINDN<_Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2) volatile,
				_Farg0>, _ARG0_ARG1> >
		>::type
		bind(_Rx(__thiscall _Farg0::* const _Val)(_FARG1_FARG2) volatile _C_ARG0_A0)
	{	// bind to pointer to volatile member and user-specified return
	typedef _Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2) volatile, _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Ret, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	_Bind<_Rx,
		_Rx,
		_BINDN<_Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2) volatile,
			_Farg0>, _ARG0_ARG1> >
			bind(_Rx(__thiscall _Farg0::* const _Val)(_FARG1_FARG2) volatile _C_ARG0_A0)
	{	// bind to pointer to volatile member function
	typedef _Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2) volatile , _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Rx, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Ret,
	class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	typename enable_if<!is_same<_Ret, _Rx>::value,
		_Bind<_Ret,
			_Rx,
			_BINDN<_Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2) const volatile,
				_Farg0>, _ARG0_ARG1> >
		>::type
			bind(_Rx(__thiscall _Farg0::* const _Val)(_FARG1_FARG2)
				const volatile _C_ARG0_A0)
	{	// bind to pointer to const volatile member and user-specified return
	typedef _Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2) const volatile,
		_Farg0> _Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Ret, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	_Bind<_Rx,
		_Rx,
		_BINDN<_Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2) const volatile,
			_Farg0>, _ARG0_ARG1> >
		bind(_Rx(__thiscall _Farg0::* const _Val)(
			_FARG1_FARG2) const volatile _C_ARG0_A0)
	{	// bind to pointer to const volatile member function
	typedef _Callable_pmf<_Rx(__thiscall _Farg0::*const)(_FARG1_FARG2) const volatile,
		_Farg0> _Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Rx, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}


 #ifdef _M_IX86
template<class _Ret,
	class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	typename enable_if<!is_same<_Ret, _Rx>::value,
		_Bind<_Ret,
			_Rx,
			_BINDN<_Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2), _Farg0>,
				_ARG0_ARG1> >
		>::type
				bind(_Rx(__cdecl _Farg0::* const _Val)(_FARG1_FARG2) _C_ARG0_A0)
	{	// bind to pointer to member function and user-specified return type
	typedef _Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2), _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Ret, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	_Bind<_Rx,
		_Rx,
		_BINDN<_Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2), _Farg0>,
			_ARG0_ARG1> >
			bind(_Rx(__cdecl _Farg0::* const _Val)(_FARG1_FARG2) _C_ARG0_A0)
	{	// bind to pointer to member function
	typedef _Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2), _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Rx, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Ret,
	class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	typename enable_if<!is_same<_Ret, _Rx>::value,
		_Bind<_Ret,
			_Rx,
			_BINDN<_Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2) const,
				_Farg0>, _ARG0_ARG1> >
		>::type
			bind(_Rx(__cdecl _Farg0::* const _Val)(_FARG1_FARG2) const _C_ARG0_A0)
	{	// bind to pointer to const member function and user-specified return
	typedef _Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2) const, _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Ret, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	_Bind<_Rx,
		_Rx,
		_BINDN<_Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2) const,
			_Farg0>, _ARG0_ARG1> >
			bind(_Rx(__cdecl _Farg0::* const _Val)(_FARG1_FARG2) const _C_ARG0_A0)
	{	// bind to pointer to const member function
	typedef _Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2) const, _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Rx, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Ret,
	class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	typename enable_if<!is_same<_Ret, _Rx>::value,
		_Bind<_Ret,
			_Rx,
			_BINDN<_Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2) volatile,
				_Farg0>, _ARG0_ARG1> >
		>::type
		bind(_Rx(__cdecl _Farg0::* const _Val)(_FARG1_FARG2) volatile _C_ARG0_A0)
	{	// bind to pointer to volatile member and user-specified return
	typedef _Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2) volatile, _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Ret, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	_Bind<_Rx,
		_Rx,
		_BINDN<_Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2) volatile,
			_Farg0>, _ARG0_ARG1> >
			bind(_Rx(__cdecl _Farg0::* const _Val)(_FARG1_FARG2) volatile _C_ARG0_A0)
	{	// bind to pointer to volatile member function
	typedef _Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2) volatile , _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Rx, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Ret,
	class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	typename enable_if<!is_same<_Ret, _Rx>::value,
		_Bind<_Ret,
			_Rx,
			_BINDN<_Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2) const volatile,
				_Farg0>, _ARG0_ARG1> >
		>::type
			bind(_Rx(__cdecl _Farg0::* const _Val)(_FARG1_FARG2)
				const volatile _C_ARG0_A0)
	{	// bind to pointer to const volatile member and user-specified return
	typedef _Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2) const volatile,
		_Farg0> _Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Ret, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	_Bind<_Rx,
		_Rx,
		_BINDN<_Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2) const volatile,
			_Farg0>, _ARG0_ARG1> >
		bind(_Rx(__cdecl _Farg0::* const _Val)(
			_FARG1_FARG2) const volatile _C_ARG0_A0)
	{	// bind to pointer to const volatile member function
	typedef _Callable_pmf<_Rx(__cdecl _Farg0::*const)(_FARG1_FARG2) const volatile,
		_Farg0> _Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Rx, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}


template<class _Ret,
	class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	typename enable_if<!is_same<_Ret, _Rx>::value,
		_Bind<_Ret,
			_Rx,
			_BINDN<_Callable_pmf<_Rx(__stdcall _Farg0::*const)(_FARG1_FARG2), _Farg0>,
				_ARG0_ARG1> >
		>::type
				bind(_Rx(__stdcall _Farg0::* const _Val)(_FARG1_FARG2) _C_ARG0_A0)
	{	// bind to pointer to member function and user-specified return type
	typedef _Callable_pmf<_Rx(__stdcall _Farg0::*const)(_FARG1_FARG2), _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Ret, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

template<class _Rx,
	_CLASS_FARG0,
	_CLASS_ARG0> inline
	_Bind<_Rx,
		_Rx,
		_BINDN<_Callable_pmf<_Rx(__stdcall _Farg0::*const)(_FARG1_FARG2), _Farg0>,
			_ARG0_ARG1> >
			bind(_Rx(__stdcall _Farg0::* const _Val)(_FARG1_FARG2) _C_ARG0_A0)
	{	// bind to pointer to member function
	typedef _Callable_pmf<_Rx(__stdcall _Farg0::*const)(_FARG1_FARG2), _Farg0>
		_Callable;
	typedef _BINDN<_Callable, _ARG0_ARG1> _MyBind;
	return (_Bind<_Rx, _Rx, _MyBind>(_MyBind(_Val, _A0_A1)));
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -