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

📄 is_function_pointer_type.hpp

📁 用STL的方式封装了WindowsAPI、COM调用、ACE、ATL、MFC、WTL等多种组件
💻 HPP
📖 第 1 页 / 共 3 页
字号:
        ,   ss_typename_param_k A18
        ,   ss_typename_param_k A19
        ,   ss_typename_param_k A20
        ,   ss_typename_param_k A21
        ,   ss_typename_param_k A22
        ,   ss_typename_param_k A23
        ,   ss_typename_param_k A24
        ,   ss_typename_param_k A25
        ,   ss_typename_param_k A26
        ,   ss_typename_param_k A27
        ,   ss_typename_param_k A28
        ,   ss_typename_param_k A29
        ,   ss_typename_param_k A30
        ,   ss_typename_param_k A31
        ,   ss_typename_param_k A32
        >
one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32));

template<   ss_typename_param_k R
        ,   ss_typename_param_k A0
        ,   ss_typename_param_k A1
        ,   ss_typename_param_k A2
        ,   ss_typename_param_k A3
        ,   ss_typename_param_k A4
        ,   ss_typename_param_k A5
        ,   ss_typename_param_k A6
        ,   ss_typename_param_k A7
        ,   ss_typename_param_k A8
        ,   ss_typename_param_k A9
        ,   ss_typename_param_k A10
        ,   ss_typename_param_k A11
        ,   ss_typename_param_k A12
        ,   ss_typename_param_k A13
        ,   ss_typename_param_k A14
        ,   ss_typename_param_k A15
        ,   ss_typename_param_k A16
        ,   ss_typename_param_k A17
        ,   ss_typename_param_k A18
        ,   ss_typename_param_k A19
        ,   ss_typename_param_k A20
        ,   ss_typename_param_k A21
        ,   ss_typename_param_k A22
        ,   ss_typename_param_k A23
        ,   ss_typename_param_k A24
        ,   ss_typename_param_k A25
        ,   ss_typename_param_k A26
        ,   ss_typename_param_k A27
        ,   ss_typename_param_k A28
        ,   ss_typename_param_k A29
        ,   ss_typename_param_k A30
        ,   ss_typename_param_k A31
        ,   ss_typename_param_k A32
        ,   ss_typename_param_k A33
        >
one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33));

template<   ss_typename_param_k R
        ,   ss_typename_param_k A0
        ,   ss_typename_param_k A1
        ,   ss_typename_param_k A2
        ,   ss_typename_param_k A3
        ,   ss_typename_param_k A4
        ,   ss_typename_param_k A5
        ,   ss_typename_param_k A6
        ,   ss_typename_param_k A7
        ,   ss_typename_param_k A8
        ,   ss_typename_param_k A9
        ,   ss_typename_param_k A10
        ,   ss_typename_param_k A11
        ,   ss_typename_param_k A12
        ,   ss_typename_param_k A13
        ,   ss_typename_param_k A14
        ,   ss_typename_param_k A15
        ,   ss_typename_param_k A16
        ,   ss_typename_param_k A17
        ,   ss_typename_param_k A18
        ,   ss_typename_param_k A19
        ,   ss_typename_param_k A20
        ,   ss_typename_param_k A21
        ,   ss_typename_param_k A22
        ,   ss_typename_param_k A23
        ,   ss_typename_param_k A24
        ,   ss_typename_param_k A25
        ,   ss_typename_param_k A26
        ,   ss_typename_param_k A27
        ,   ss_typename_param_k A28
        ,   ss_typename_param_k A29
        ,   ss_typename_param_k A30
        ,   ss_typename_param_k A31
        ,   ss_typename_param_k A32
        ,   ss_typename_param_k A33
        ,   ss_typename_param_k A34
        >
one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34));

template<   ss_typename_param_k R
        ,   ss_typename_param_k A0
        ,   ss_typename_param_k A1
        ,   ss_typename_param_k A2
        ,   ss_typename_param_k A3
        ,   ss_typename_param_k A4
        ,   ss_typename_param_k A5
        ,   ss_typename_param_k A6
        ,   ss_typename_param_k A7
        ,   ss_typename_param_k A8
        ,   ss_typename_param_k A9
        ,   ss_typename_param_k A10
        ,   ss_typename_param_k A11
        ,   ss_typename_param_k A12
        ,   ss_typename_param_k A13
        ,   ss_typename_param_k A14
        ,   ss_typename_param_k A15
        ,   ss_typename_param_k A16
        ,   ss_typename_param_k A17
        ,   ss_typename_param_k A18
        ,   ss_typename_param_k A19
        ,   ss_typename_param_k A20
        ,   ss_typename_param_k A21
        ,   ss_typename_param_k A22
        ,   ss_typename_param_k A23
        ,   ss_typename_param_k A24
        ,   ss_typename_param_k A25
        ,   ss_typename_param_k A26
        ,   ss_typename_param_k A27
        ,   ss_typename_param_k A28
        ,   ss_typename_param_k A29
        ,   ss_typename_param_k A30
        ,   ss_typename_param_k A31
        ,   ss_typename_param_k A32
        ,   ss_typename_param_k A33
        ,   ss_typename_param_k A34
        ,   ss_typename_param_k A35
        >
one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35));

template<   ss_typename_param_k R
        ,   ss_typename_param_k A0
        ,   ss_typename_param_k A1
        ,   ss_typename_param_k A2
        ,   ss_typename_param_k A3
        ,   ss_typename_param_k A4
        ,   ss_typename_param_k A5
        ,   ss_typename_param_k A6
        ,   ss_typename_param_k A7
        ,   ss_typename_param_k A8
        ,   ss_typename_param_k A9
        ,   ss_typename_param_k A10
        ,   ss_typename_param_k A11
        ,   ss_typename_param_k A12
        ,   ss_typename_param_k A13
        ,   ss_typename_param_k A14
        ,   ss_typename_param_k A15
        ,   ss_typename_param_k A16
        ,   ss_typename_param_k A17
        ,   ss_typename_param_k A18
        ,   ss_typename_param_k A19
        ,   ss_typename_param_k A20
        ,   ss_typename_param_k A21
        ,   ss_typename_param_k A22
        ,   ss_typename_param_k A23
        ,   ss_typename_param_k A24
        ,   ss_typename_param_k A25
        ,   ss_typename_param_k A26
        ,   ss_typename_param_k A27
        ,   ss_typename_param_k A28
        ,   ss_typename_param_k A29
        ,   ss_typename_param_k A30
        ,   ss_typename_param_k A31
        ,   ss_typename_param_k A32
        ,   ss_typename_param_k A33
        ,   ss_typename_param_k A34
        ,   ss_typename_param_k A35
        ,   ss_typename_param_k A36
        >
one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36));

template<   ss_typename_param_k R
        ,   ss_typename_param_k A0
        ,   ss_typename_param_k A1
        ,   ss_typename_param_k A2
        ,   ss_typename_param_k A3
        ,   ss_typename_param_k A4
        ,   ss_typename_param_k A5
        ,   ss_typename_param_k A6
        ,   ss_typename_param_k A7
        ,   ss_typename_param_k A8
        ,   ss_typename_param_k A9
        ,   ss_typename_param_k A10
        ,   ss_typename_param_k A11
        ,   ss_typename_param_k A12
        ,   ss_typename_param_k A13
        ,   ss_typename_param_k A14
        ,   ss_typename_param_k A15
        ,   ss_typename_param_k A16
        ,   ss_typename_param_k A17
        ,   ss_typename_param_k A18
        ,   ss_typename_param_k A19
        ,   ss_typename_param_k A20
        ,   ss_typename_param_k A21
        ,   ss_typename_param_k A22
        ,   ss_typename_param_k A23
        ,   ss_typename_param_k A24
        ,   ss_typename_param_k A25
        ,   ss_typename_param_k A26
        ,   ss_typename_param_k A27
        ,   ss_typename_param_k A28
        ,   ss_typename_param_k A29
        ,   ss_typename_param_k A30
        ,   ss_typename_param_k A31
        ,   ss_typename_param_k A32
        ,   ss_typename_param_k A33
        ,   ss_typename_param_k A34
        ,   ss_typename_param_k A35
        ,   ss_typename_param_k A36
        ,   ss_typename_param_k A37
        >
one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37));

template<   ss_typename_param_k R
        ,   ss_typename_param_k A0
        ,   ss_typename_param_k A1
        ,   ss_typename_param_k A2
        ,   ss_typename_param_k A3
        ,   ss_typename_param_k A4
        ,   ss_typename_param_k A5
        ,   ss_typename_param_k A6
        ,   ss_typename_param_k A7
        ,   ss_typename_param_k A8
        ,   ss_typename_param_k A9
        ,   ss_typename_param_k A10
        ,   ss_typename_param_k A11
        ,   ss_typename_param_k A12
        ,   ss_typename_param_k A13
        ,   ss_typename_param_k A14
        ,   ss_typename_param_k A15
        ,   ss_typename_param_k A16
        ,   ss_typename_param_k A17
        ,   ss_typename_param_k A18
        ,   ss_typename_param_k A19
        ,   ss_typename_param_k A20
        ,   ss_typename_param_k A21
        ,   ss_typename_param_k A22
        ,   ss_typename_param_k A23
        ,   ss_typename_param_k A24
        ,   ss_typename_param_k A25
        ,   ss_typename_param_k A26
        ,   ss_typename_param_k A27
        ,   ss_typename_param_k A28
        ,   ss_typename_param_k A29
        ,   ss_typename_param_k A30
        ,   ss_typename_param_k A31
        ,   ss_typename_param_k A32
        ,   ss_typename_param_k A33
        ,   ss_typename_param_k A34
        ,   ss_typename_param_k A35
        ,   ss_typename_param_k A36
        ,   ss_typename_param_k A37
        ,   ss_typename_param_k A38
        >
one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37, A38));

template<   ss_typename_param_k R
        ,   ss_typename_param_k A0
        ,   ss_typename_param_k A1
        ,   ss_typename_param_k A2
        ,   ss_typename_param_k A3
        ,   ss_typename_param_k A4
        ,   ss_typename_param_k A5
        ,   ss_typename_param_k A6
        ,   ss_typename_param_k A7
        ,   ss_typename_param_k A8
        ,   ss_typename_param_k A9
        ,   ss_typename_param_k A10
        ,   ss_typename_param_k A11
        ,   ss_typename_param_k A12
        ,   ss_typename_param_k A13
        ,   ss_typename_param_k A14
        ,   ss_typename_param_k A15
        ,   ss_typename_param_k A16
        ,   ss_typename_param_k A17
        ,   ss_typename_param_k A18
        ,   ss_typename_param_k A19
        ,   ss_typename_param_k A20
        ,   ss_typename_param_k A21
        ,   ss_typename_param_k A22
        ,   ss_typename_param_k A23
        ,   ss_typename_param_k A24
        ,   ss_typename_param_k A25
        ,   ss_typename_param_k A26
        ,   ss_typename_param_k A27
        ,   ss_typename_param_k A28
        ,   ss_typename_param_k A29
        ,   ss_typename_param_k A30
        ,   ss_typename_param_k A31
        ,   ss_typename_param_k A32
        ,   ss_typename_param_k A33
        ,   ss_typename_param_k A34
        ,   ss_typename_param_k A35
        ,   ss_typename_param_k A36
        ,   ss_typename_param_k A37
        ,   ss_typename_param_k A38
        ,   ss_typename_param_k A39
        >
one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37, A38, A39));

template<   ss_typename_param_k R
        ,   ss_typename_param_k A0
        ,   ss_typename_param_k A1
        ,   ss_typename_param_k A2
        ,   ss_typename_param_k A3
        ,   ss_typename_param_k A4
        ,   ss_typename_param_k A5
        ,   ss_typename_param_k A6
        ,   ss_typename_param_k A7
        ,   ss_typename_param_k A8
        ,   ss_typename_param_k A9
        ,   ss_typename_param_k A10
        ,   ss_typename_param_k A11
        ,   ss_typename_param_k A12
        ,   ss_typename_param_k A13
        ,   ss_typename_param_k A14
        ,   ss_typename_param_k A15
        ,   ss_typename_param_k A16
        ,   ss_typename_param_k A17
        ,   ss_typename_param_k A18
        ,   ss_typename_param_k A19
        ,   ss_typename_param_k A20
        ,   ss_typename_param_k A21
        ,   ss_typename_param_k A22
        ,   ss_typename_param_k A23
        ,   ss_typename_param_k A24
        ,   ss_typename_param_k A25
        ,   ss_typename_param_k A26
        ,   ss_typename_param_k A27
        ,   ss_typename_param_k A28
        ,   ss_typename_param_k A29
        ,   ss_typename_param_k A30
        ,   ss_typename_param_k A31
        ,   ss_typename_param_k A32
        ,   ss_typename_param_k A33
        ,   ss_typename_param_k A34
        ,   ss_typename_param_k A35
        ,   ss_typename_param_k A36
        ,   ss_typename_param_k A37
        ,   ss_typename_param_k A38
        ,   ss_typename_param_k A39
        ,   ss_typename_param_k A40
        >
one_type is_function_pointer_type_func(R (*)(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31, A32, A33, A34, A35, A36, A37, A38, A39, A40));

two_type is_function_pointer_type_func(...);

/// traits type used to determine whether the given type is a pointer
template <ss_typename_param_k T>
struct is_function_pointer_type
{
    typedef T   test_type;

private:
    static T    t;
public:
    enum { value = sizeof(is_function_pointer_type_func(t)) == sizeof(one_type) };
};

/* ////////////////////////////////////////////////////////////////////// */

#ifndef _STLSOFT_NO_NAMESPACE
} // namespace stlsoft
#endif /* _STLSOFT_NO_NAMESPACE */

/* ////////////////////////////////////////////////////////////////////// */

#endif /* !STLSOFT_INCL_STLSOFT_META_HPP_IS_FUNCTION_POINTER_TYPE */

/* ////////////////////////////////////////////////////////////////////// */

⌨️ 快捷键说明

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