Файл SignatureInfo.h

Граф включаемых заголовочных файлов для SignatureInfo.h:

Граф файлов, в которые включается этот файл:

См. исходные тексты.

Пространства имен

namespace  Cntm

Классы

struct  Cntm::SignatureInfo< SignatureT >
 Данный модуль предоставляет средства для разбора сигнатур функций и методов: выделение типов параметров, типа возвращаемого значения, некоторые вспомогательные типы и статические методы. Подробнее...
struct  Cntm::SignatureArgInfo< ArgT >
struct  Cntm::SignatureArgInfo< ArgT & >
struct  Cntm::SignatureArgInfo< const ArgT & >
struct  Cntm::SignatureArgInfo< volatile ArgT & >
struct  Cntm::SignatureArgInfo< const volatile ArgT & >
struct  Cntm::SignatureResult< ResT >
struct  Cntm::SignatureResult< void >

Макросы

#define CNTM_SIGNATURES_MAX_ARGS   17
#define CNTM_SIGNATURES_EMPTY
#define CNTM_SIGNATURES_COMMON_INFO_ARG(z, n, _)
#define CNTM_SIGNATURES_COMMON_INFO_ARGS_ARG(z, n, _)   StoreType##n arg##n;
#define CNTM_SIGNATURES_COMMON_INFO_ARGS_CTOR_ARG(z, n, _)   arg##n(Arg##n)
#define CNTM_SIGNATURES_COMMON_INFO_ARGS_CTOR_TEMPL0(z, n)
#define CNTM_SIGNATURES_COMMON_INFO_ARGS_CTOR_TEMPL(z, n)
#define CNTM_SIGNATURES_COMMON_INFO(z, n, _)
#define CNTM_SIGNATURES_FUNC_INFO(z, n, _)
#define CNTM_SIGNATURES_PFUNC_INFO(z, n, _)
#define CNTM_SIGNATURES_METHOD_INFO(z, n, _)


Макросы

#define CNTM_SIGNATURES_MAX_ARGS   17

См. определение в файле SignatureInfo.h строка 120

#define CNTM_SIGNATURES_EMPTY

См. определение в файле SignatureInfo.h строка 122

#define CNTM_SIGNATURES_COMMON_INFO_ARG ( z,
n,
 ) 

Макроопределение:

typedef ArgT##n ArgType##n; \
                typedef typename SignatureArgInfo < ArgT##n > ::StoreType StoreType##n;

См. определение в файле SignatureInfo.h строка 125

#define CNTM_SIGNATURES_COMMON_INFO_ARGS_ARG ( z,
n,
 )     StoreType##n arg##n;

См. определение в файле SignatureInfo.h строка 130

#define CNTM_SIGNATURES_COMMON_INFO_ARGS_CTOR_ARG ( z,
n,
 )     arg##n(Arg##n)

См. определение в файле SignatureInfo.h строка 134

#define CNTM_SIGNATURES_COMMON_INFO_ARGS_CTOR_TEMPL0 ( z,
 ) 

См. определение в файле SignatureInfo.h строка 137

#define CNTM_SIGNATURES_COMMON_INFO_ARGS_CTOR_TEMPL ( z,
 ) 

Макроопределение:

BOOST_PP_IF(n, template <, CNTM_SIGNATURES_EMPTY) \
                BOOST_PP_ENUM_PARAMS_Z(z, n, typename SrcArgT) \
                BOOST_PP_IF(n, >, CNTM_SIGNATURES_EMPTY)

См. определение в файле SignatureInfo.h строка 139

#define CNTM_SIGNATURES_COMMON_INFO ( z,
n,
 ) 

См. определение в файле SignatureInfo.h строка 145

#define CNTM_SIGNATURES_FUNC_INFO ( z,
n,
 ) 

Макроопределение:

template < typename ResT BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, typename ArgT) > \
        struct SignatureInfo < ResT (BOOST_PP_ENUM_PARAMS_Z(z, n, ArgT)) > \
        { \
                CNTM_SIGNATURES_COMMON_INFO(z, n, CNTM_SIGNATURES_EMPTY) \
                static const bool isMethod = false; \
                struct ClassType {}; \
                typedef FuncSign* Pointer; \
                static ResType Exec(ClassType* Object, Pointer Procedure, Args* Args) \
                { \
                        return FuncExec(Procedure, Args); \
                } \
        };

См. определение в файле SignatureInfo.h строка 198

#define CNTM_SIGNATURES_PFUNC_INFO ( z,
n,
 ) 

Макроопределение:

template < typename ResT BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, typename ArgT) > \
        struct SignatureInfo < ResT (*)(BOOST_PP_ENUM_PARAMS_Z(z, n, ArgT)) > \
        { \
                CNTM_SIGNATURES_COMMON_INFO(z, n, CNTM_SIGNATURES_EMPTY) \
                static const bool isMethod = false; \
                struct ClassType {}; \
                typedef FuncSign* Pointer; \
                static ResType Exec(ClassType* Object, Pointer Procedure, Args* Args) \
                { \
                        return FuncExec(Procedure, Args); \
                } \
        };

См. определение в файле SignatureInfo.h строка 212

#define CNTM_SIGNATURES_METHOD_INFO ( z,
n,
 ) 

Макроопределение:

template < typename ResT, typename ClassT BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, typename ArgT) > \
        struct SignatureInfo < ResT (ClassT::*)(BOOST_PP_ENUM_PARAMS_Z(z, n, ArgT)) > \
        { \
                CNTM_SIGNATURES_COMMON_INFO(z, n, CNTM_SIGNATURES_EMPTY) \
                static const bool isMethod = true; \
                typedef ClassT ClassType; \
                typedef typename Method < ClassT > ::Pointer Pointer; \
                static ResType Exec(ClassType* Object, Pointer Procedure, Args* Args) \
                { \
                        return MethodExec(Object, Procedure, Args); \
                } \
        };

См. определение в файле SignatureInfo.h строка 226


SourceForge.net Logo
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой  doxygen 1.5.3