📄 functorold.h
字号:
template <>
struct FunctorImplHelper<8>
{
template <typename R, class TList, class ThreadingModel>
class In : public Private::FunctorImplBase<R, ThreadingModel>
{
typedef typename TL::TypeAt<TList, 0>::Result P1;
typedef typename TL::TypeAt<TList, 1>::Result P2;
typedef typename TL::TypeAt<TList, 2>::Result P3;
typedef typename TL::TypeAt<TList, 3>::Result P4;
typedef typename TL::TypeAt<TList, 4>::Result P5;
typedef typename TL::TypeAt<TList, 5>::Result P6;
typedef typename TL::TypeAt<TList, 6>::Result P7;
typedef typename TL::TypeAt<TList, 7>::Result P8;
public:
typedef R ResultType;
typedef typename Select
<
IsVoid<R>::value != 0,
VoidAsType,
R
>::Result NewRType;
typedef typename TypeTraits<P1>::ParameterType Parm1;
typedef typename TypeTraits<P2>::ParameterType Parm2;
typedef typename TypeTraits<P3>::ParameterType Parm3;
typedef typename TypeTraits<P4>::ParameterType Parm4;
typedef typename TypeTraits<P5>::ParameterType Parm5;
typedef typename TypeTraits<P6>::ParameterType Parm6;
typedef typename TypeTraits<P7>::ParameterType Parm7;
typedef typename TypeTraits<P8>::ParameterType Parm8;
virtual NewRType operator()(Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8) = 0;
};
};
////////////////////////////////////////////////////////////////////////////////
// class template FunctorImplHelper
// Specialization for 9 parameters
////////////////////////////////////////////////////////////////////////////////
template <>
struct FunctorImplHelper<9>
{
template <typename R, class TList, class ThreadingModel>
class In : public Private::FunctorImplBase<R, ThreadingModel>
{
typedef typename TL::TypeAt<TList, 0>::Result P1;
typedef typename TL::TypeAt<TList, 1>::Result P2;
typedef typename TL::TypeAt<TList, 2>::Result P3;
typedef typename TL::TypeAt<TList, 3>::Result P4;
typedef typename TL::TypeAt<TList, 4>::Result P5;
typedef typename TL::TypeAt<TList, 5>::Result P6;
typedef typename TL::TypeAt<TList, 6>::Result P7;
typedef typename TL::TypeAt<TList, 7>::Result P8;
typedef typename TL::TypeAt<TList, 8>::Result P9;
public:
typedef R ResultType;
typedef typename Select
<
IsVoid<R>::value != 0,
VoidAsType,
R
>::Result NewRType;
typedef typename TypeTraits<P1>::ParameterType Parm1;
typedef typename TypeTraits<P2>::ParameterType Parm2;
typedef typename TypeTraits<P3>::ParameterType Parm3;
typedef typename TypeTraits<P4>::ParameterType Parm4;
typedef typename TypeTraits<P5>::ParameterType Parm5;
typedef typename TypeTraits<P6>::ParameterType Parm6;
typedef typename TypeTraits<P7>::ParameterType Parm7;
typedef typename TypeTraits<P8>::ParameterType Parm8;
typedef typename TypeTraits<P9>::ParameterType Parm9;
virtual NewRType operator()(Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8, Parm9) = 0;
};
};
////////////////////////////////////////////////////////////////////////////////
// class template FunctorImplHelper
// Specialization for 10 parameters
////////////////////////////////////////////////////////////////////////////////
template <>
struct FunctorImplHelper<10>
{
template <typename R, class TList, class ThreadingModel>
class In : public Private::FunctorImplBase<R, ThreadingModel>
{
typedef typename TL::TypeAt<TList, 0>::Result P1;
typedef typename TL::TypeAt<TList, 1>::Result P2;
typedef typename TL::TypeAt<TList, 2>::Result P3;
typedef typename TL::TypeAt<TList, 3>::Result P4;
typedef typename TL::TypeAt<TList, 4>::Result P5;
typedef typename TL::TypeAt<TList, 5>::Result P6;
typedef typename TL::TypeAt<TList, 6>::Result P7;
typedef typename TL::TypeAt<TList, 7>::Result P8;
typedef typename TL::TypeAt<TList, 8>::Result P9;
typedef typename TL::TypeAt<TList, 9>::Result P10;
public:
typedef R ResultType;
typedef typename Select
<
IsVoid<R>::value != 0,
VoidAsType,
R
>::Result NewRType;
typedef typename TypeTraits<P1>::ParameterType Parm1;
typedef typename TypeTraits<P2>::ParameterType Parm2;
typedef typename TypeTraits<P3>::ParameterType Parm3;
typedef typename TypeTraits<P4>::ParameterType Parm4;
typedef typename TypeTraits<P5>::ParameterType Parm5;
typedef typename TypeTraits<P6>::ParameterType Parm6;
typedef typename TypeTraits<P7>::ParameterType Parm7;
typedef typename TypeTraits<P8>::ParameterType Parm8;
typedef typename TypeTraits<P9>::ParameterType Parm9;
typedef typename TypeTraits<P10>::ParameterType Parm10;
virtual NewRType operator()(Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8, Parm9, Parm10) = 0;
};
};
////////////////////////////////////////////////////////////////////////////////
// class template FunctorImplHelper
// Specialization for 11 parameters
////////////////////////////////////////////////////////////////////////////////
template <>
struct FunctorImplHelper<11>
{
template <typename R, class TList, class ThreadingModel>
class In : public Private::FunctorImplBase<R, ThreadingModel>
{
typedef typename TL::TypeAt<TList, 0>::Result P1;
typedef typename TL::TypeAt<TList, 1>::Result P2;
typedef typename TL::TypeAt<TList, 2>::Result P3;
typedef typename TL::TypeAt<TList, 3>::Result P4;
typedef typename TL::TypeAt<TList, 4>::Result P5;
typedef typename TL::TypeAt<TList, 5>::Result P6;
typedef typename TL::TypeAt<TList, 6>::Result P7;
typedef typename TL::TypeAt<TList, 7>::Result P8;
typedef typename TL::TypeAt<TList, 8>::Result P9;
typedef typename TL::TypeAt<TList, 9>::Result P10;
typedef typename TL::TypeAt<TList, 10>::Result P11;
public:
typedef R ResultType;
typedef typename Select
<
IsVoid<R>::value != 0,
VoidAsType,
R
>::Result NewRType;
typedef typename TypeTraits<P1>::ParameterType Parm1;
typedef typename TypeTraits<P2>::ParameterType Parm2;
typedef typename TypeTraits<P3>::ParameterType Parm3;
typedef typename TypeTraits<P4>::ParameterType Parm4;
typedef typename TypeTraits<P5>::ParameterType Parm5;
typedef typename TypeTraits<P6>::ParameterType Parm6;
typedef typename TypeTraits<P7>::ParameterType Parm7;
typedef typename TypeTraits<P8>::ParameterType Parm8;
typedef typename TypeTraits<P9>::ParameterType Parm9;
typedef typename TypeTraits<P10>::ParameterType Parm10;
typedef typename TypeTraits<P11>::ParameterType Parm11;
virtual NewRType operator()(Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8, Parm9, Parm10, Parm11) = 0;
};
};
////////////////////////////////////////////////////////////////////////////////
// class template FunctorImplHelper
// Specialization for 12 parameters
////////////////////////////////////////////////////////////////////////////////
template <>
struct FunctorImplHelper<12>
{
template <typename R, class TList, class ThreadingModel>
class In : public Private::FunctorImplBase<R, ThreadingModel>
{
typedef typename TL::TypeAt<TList, 0>::Result P1;
typedef typename TL::TypeAt<TList, 1>::Result P2;
typedef typename TL::TypeAt<TList, 2>::Result P3;
typedef typename TL::TypeAt<TList, 3>::Result P4;
typedef typename TL::TypeAt<TList, 4>::Result P5;
typedef typename TL::TypeAt<TList, 5>::Result P6;
typedef typename TL::TypeAt<TList, 6>::Result P7;
typedef typename TL::TypeAt<TList, 7>::Result P8;
typedef typename TL::TypeAt<TList, 8>::Result P9;
typedef typename TL::TypeAt<TList, 9>::Result P10;
typedef typename TL::TypeAt<TList, 10>::Result P11;
typedef typename TL::TypeAt<TList, 11>::Result P12;
public:
typedef R ResultType;
typedef typename Select
<
IsVoid<R>::value != 0,
VoidAsType,
R
>::Result NewRType;
typedef typename TypeTraits<P1>::ParameterType Parm1;
typedef typename TypeTraits<P2>::ParameterType Parm2;
typedef typename TypeTraits<P3>::ParameterType Parm3;
typedef typename TypeTraits<P4>::ParameterType Parm4;
typedef typename TypeTraits<P5>::ParameterType Parm5;
typedef typename TypeTraits<P6>::ParameterType Parm6;
typedef typename TypeTraits<P7>::ParameterType Parm7;
typedef typename TypeTraits<P8>::ParameterType Parm8;
typedef typename TypeTraits<P9>::ParameterType Parm9;
typedef typename TypeTraits<P10>::ParameterType Parm10;
typedef typename TypeTraits<P11>::ParameterType Parm11;
typedef typename TypeTraits<P12>::ParameterType Parm12;
virtual NewRType operator()(Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8, Parm9, Parm10, Parm11, Parm12) = 0;
};
};
////////////////////////////////////////////////////////////////////////////////
// class template FunctorImplHelper
// Specialization for 13 parameters
////////////////////////////////////////////////////////////////////////////////
template <>
struct FunctorImplHelper<13>
{
template <typename R, class TList, class ThreadingModel>
class In : public Private::FunctorImplBase<R, ThreadingModel>
{
typedef typename TL::TypeAt<TList, 0>::Result P1;
typedef typename TL::TypeAt<TList, 1>::Result P2;
typedef typename TL::TypeAt<TList, 2>::Result P3;
typedef typename TL::TypeAt<TList, 3>::Result P4;
typedef typename TL::TypeAt<TList, 4>::Result P5;
typedef typename TL::TypeAt<TList, 5>::Result P6;
typedef typename TL::TypeAt<TList, 6>::Result P7;
typedef typename TL::TypeAt<TList, 7>::Result P8;
typedef typename TL::TypeAt<TList, 8>::Result P9;
typedef typename TL::TypeAt<TList, 9>::Result P10;
typedef typename TL::TypeAt<TList, 10>::Result P11;
typedef typename TL::TypeAt<TList, 11>::Result P12;
typedef typename TL::TypeAt<TList, 12>::Result P13;
public:
typedef R ResultType;
typedef typename Select
<
IsVoid<R>::value != 0,
VoidAsType,
R
>::Result NewRType;
typedef typename TypeTraits<P1>::ParameterType Parm1;
typedef typename TypeTraits<P2>::ParameterType Parm2;
typedef typename TypeTraits<P3>::ParameterType Parm3;
typedef typename TypeTraits<P4>::ParameterType Parm4;
typedef typename TypeTraits<P5>::ParameterType Parm5;
typedef typename TypeTraits<P6>::ParameterType Parm6;
typedef typename TypeTraits<P7>::ParameterType Parm7;
typedef typename TypeTraits<P8>::ParameterType Parm8;
typedef typename TypeTraits<P9>::ParameterType Parm9;
typedef typename TypeTraits<P10>::ParameterType Parm10;
typedef typename TypeTraits<P11>::ParameterType Parm11;
typedef typename TypeTraits<P12>::ParameterType Parm12;
typedef typename TypeTraits<P13>::ParameterType Parm13;
virtual NewRType operator()(Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8, Parm9, Parm10, Parm11, Parm12, Parm13) = 0;
};
};
////////////////////////////////////////////////////////////////////////////////
// class template FunctorImplHelper
// Specialization for 14 parameters
////////////////////////////////////////////////////////////////////////////////
template <>
struct FunctorImplHelper<14>
{
template <typename R, class TList, class ThreadingModel>
class In : public Private::FunctorImplBase<R, ThreadingModel>
{
typedef typename TL::TypeAt<TList, 0>::Result P1;
typedef typename TL::TypeAt<TList, 1>::Result P2;
typedef typename TL::TypeAt<TList, 2>::Result P3;
typedef typename TL::TypeAt<TList, 3>::Result P4;
typedef typename TL::TypeAt<TList, 4>::Result P5;
typedef typename TL::TypeAt<TList, 5>::Result P6;
typedef typename TL::TypeAt<TList, 6>::Result P7;
typedef typename TL::TypeAt<TList, 7>::Result P8;
typedef typename TL::TypeAt<TList, 8>::Result P9;
typedef typename TL::TypeAt<TList, 9>::Result P10;
typedef typename TL::TypeAt<TList, 10>::Result P11;
typedef typename TL::TypeAt<TList, 11>::Result P12;
typedef typename TL::TypeAt<TList, 12>::Result P13;
typedef typename TL::TypeAt<TList, 13>::Result P14;
public:
typedef R ResultType;
typedef typename Select
<
IsVoid<R>::value != 0,
VoidAsType,
R
>::Result NewRType;
typedef typename TypeTraits<P1>::ParameterType Parm1;
typedef typename TypeTraits<P2>::ParameterType Parm2;
typedef typename TypeTraits<P3>::ParameterType Parm3;
typedef typename TypeTraits<P4>::ParameterType Parm4;
typedef typename TypeTraits<P5>::ParameterType Parm5;
typedef typename TypeTraits<P6>::ParameterType Parm6;
typedef typename TypeTraits<P7>::ParameterType Parm7;
typedef typename TypeTraits<P8>::ParameterType Parm8;
typedef typename TypeTraits<P9>::ParameterType Parm9;
typedef typename TypeTraits<P10>::ParameterType Parm10;
typedef typename TypeTraits<P11>::ParameterType Parm11;
typedef typename TypeTraits<P12>::ParameterType Parm12;
typedef typename TypeTraits<P13>::ParameterType Parm13;
typedef typename TypeTraits<P14>::ParameterType Parm14;
virtual NewRType operator()(Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8, Parm9, Parm10, Parm11, Parm12, Parm13, Parm14) = 0;
};
};
////////////////////////////////////////////////////////////////////////////////
// class template FunctorImplHelper
// Specialization for 15 parameters
////////////////////////////////////////////////////////////////////////////////
template <>
struct FunctorImplHelper<15>
{
template <typename R, class TList, class ThreadingModel>
class In : public Private::FunctorImplBase<R, ThreadingModel>
{
typedef typename TL::TypeAt<TList, 0>::Result P1;
typedef typename TL::TypeAt<TList, 1>::Result P2;
typedef typename TL::TypeAt<TList, 2>::Result P3;
typedef typename TL::TypeAt<TList, 3>::Result P4;
typedef typename TL::TypeAt<TList, 4>::Result P5;
typedef typename TL::TypeAt<TList, 5>::Result P6;
typedef typename TL::TypeAt<TList, 6>::Result P7;
typedef typename TL::TypeAt<TList, 7>::Result P8;
typedef typename TL::TypeAt<TList, 8>::Result P9;
typedef typename TL::TypeAt<TList, 9>::Result P10;
typedef typename TL::TypeAt<TList, 10>::Result P11;
typedef typename TL::TypeAt<TList, 11>::Result P12;
typedef typename TL::TypeAt<TList, 12>::Result P13;
typedef typename TL::TypeAt<TList, 13>::Result P14;
typedef typename TL::TypeAt<TList, 14>::Result P15;
public:
typedef R ResultType;
typedef typename Select
<
IsVoid<R>::value != 0,
VoidAsType,
R
>::Result NewRType;
typedef typename TypeTraits<P1>::ParameterType Parm1;
typedef typename TypeTraits<P2>::ParameterType Parm2;
typedef typename TypeTraits<P3>::ParameterType Parm3;
typedef typename TypeTraits<P4>::ParameterType Parm4;
typedef typename TypeTraits<P5>::ParameterType Parm5;
typedef typename TypeTraits<P6>::ParameterType Parm6;
typedef typename TypeTraits<P7>::ParameterType Parm7;
typedef typename TypeTraits<P8>::ParameterType Parm8;
typedef typename TypeTraits<P9>::ParameterType Parm9;
typedef typename TypeTraits<P10>::ParameterType Parm10;
typedef typename TypeTraits<P11>::ParameterType Parm11;
typedef typename TypeTraits<P12>::ParameterType Parm12;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -