📄 xxtype_traits
字号:
// xxtype_traits TR1 internal header
// NOTE: no include guard
template<class _Ret _C_CLASS_ARG0>
struct _Is_funptr<_Ret (*)(_ARG0_ARG1)>
: true_type
{ // base class for function pointer predicates
};
template<class _Ret _C_CLASS_ARG0>
struct _Is_funptr<_Ret (*)(_ARG0_ARG1 ...)>
: true_type
{ // base class for function pointer predicates
};
#if _NARGS != 0
template<class _Ret _C_CLASS_ARG0>
struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2)>
: true_type
{ // base class for member function pointer predicates
};
template<class _Ret _C_CLASS_ARG0>
struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2 ...)>
: true_type
{ // base class for member function pointer predicates
};
template<class _Ret _C_CLASS_ARG0>
struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2) const>
: true_type
{ // base class for member function pointer predicates
};
template<class _Ret _C_CLASS_ARG0>
struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2 ...) const>
: true_type
{ // base class for member function pointer predicates
};
template<class _Ret _C_CLASS_ARG0>
struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2) volatile>
: true_type
{ // base class for member function pointer predicates
};
template<class _Ret _C_CLASS_ARG0>
struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2 ...) volatile>
: true_type
{ // base class for member function pointer predicates
};
template<class _Ret _C_CLASS_ARG0>
struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2) const volatile>
: true_type
{ // base class for member function pointer predicates
};
template<class _Ret _C_CLASS_ARG0>
struct _Is_memfunptr<_Ret (_Arg0::*)(_ARG1_ARG2 ...) const volatile>
: true_type
{ // base class for member function pointer predicates
};
#endif /* _NARGS != 0 */
/*
* Copyright (c) 1992-2009 by P.J. Plauger. ALL RIGHTS RESERVED.
* Consult your license regarding permissions and restrictions.
V5.20:0009 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -