📄 casts.hpp
字号:
template <
typename A, typename B, typename C, typename D
>
T operator()(
A const& a, B const& b, C const& c, D const& d) const
{
T t(a, b, c, d);
return t;
}
};
template <typename T>
struct construct_5 {
template <
typename A
, typename B
, typename C
, typename D
, typename E
>
struct result { typedef T type; };
template <
typename A, typename B, typename C, typename D, typename E
>
T operator()(
A const& a, B const& b, C const& c, D const& d, E const& e) const
{
T t(a, b, c, d, e);
return t;
}
};
template <typename T>
struct construct_6 {
template <
typename A
, typename B
, typename C
, typename D
, typename E
, typename F
>
struct result { typedef T type; };
template <
typename A, typename B, typename C, typename D, typename E,
typename F
>
T operator()(
A const& a, B const& b, C const& c, D const& d, E const& e,
F const& f) const
{
T t(a, b, c, d, e, f);
return t;
}
};
#endif
#if PHOENIX_CONSTRUCT_LIMIT > 6
template <typename T>
struct construct_7 {
template <
typename A
, typename B
, typename C
, typename D
, typename E
, typename F
, typename G
>
struct result { typedef T type; };
template <
typename A, typename B, typename C, typename D, typename E,
typename F, typename G
>
T operator()(
A const& a, B const& b, C const& c, D const& d, E const& e,
F const& f, G const& g) const
{
T t(a, b, c, d, e, f, g);
return t;
}
};
template <typename T>
struct construct_8 {
template <
typename A
, typename B
, typename C
, typename D
, typename E
, typename F
, typename G
, typename H
>
struct result { typedef T type; };
template <
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H
>
T operator()(
A const& a, B const& b, C const& c, D const& d, E const& e,
F const& f, G const& g, H const& h) const
{
T t(a, b, c, d, e, f, g, h);
return t;
}
};
template <typename T>
struct construct_9 {
template <
typename A
, typename B
, typename C
, typename D
, typename E
, typename F
, typename G
, typename H
, typename I
>
struct result { typedef T type; };
template <
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I
>
T operator()(
A const& a, B const& b, C const& c, D const& d, E const& e,
F const& f, G const& g, H const& h, I const& i) const
{
T t(a, b, c, d, e, f, g, h, i);
return t;
}
};
#endif
#if PHOENIX_CONSTRUCT_LIMIT > 9
template <typename T>
struct construct_10 {
template <
typename A
, typename B
, typename C
, typename D
, typename E
, typename F
, typename G
, typename H
, typename I
, typename J
>
struct result { typedef T type; };
template <
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J
>
T operator()(
A const& a, B const& b, C const& c, D const& d, E const& e,
F const& f, G const& g, H const& h, I const& i, J const& j) const
{
T t(a, b, c, d, e, f, g, h, i, j);
return t;
}
};
template <typename T>
struct construct_11 {
template <
typename A
, typename B
, typename C
, typename D
, typename E
, typename F
, typename G
, typename H
, typename I
, typename J
, typename K
>
struct result { typedef T type; };
template <
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J,
typename K
>
T operator()(
A const& a, B const& b, C const& c, D const& d, E const& e,
F const& f, G const& g, H const& h, I const& i, J const& j,
K const& k) const
{
T t(a, b, c, d, e, f, g, h, i, j, k);
return t;
}
};
template <typename T>
struct construct_12 {
template <
typename A
, typename B
, typename C
, typename D
, typename E
, typename F
, typename G
, typename H
, typename I
, typename J
, typename K
, typename L
>
struct result { typedef T type; };
template <
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J,
typename K, typename L
>
T operator()(
A const& a, B const& b, C const& c, D const& d, E const& e,
F const& f, G const& g, H const& h, I const& i, J const& j,
K const& k, L const& l) const
{
T t(a, b, c, d, f, e, g, h, i, j, k, l);
return t;
}
};
#endif
#if PHOENIX_CONSTRUCT_LIMIT > 12
template <typename T>
struct construct_13 {
template <
typename A
, typename B
, typename C
, typename D
, typename E
, typename F
, typename G
, typename H
, typename I
, typename J
, typename K
, typename L
, typename M
>
struct result { typedef T type; };
template <
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J,
typename K, typename L, typename M
>
T operator()(
A const& a, B const& b, C const& c, D const& d, E const& e,
F const& f, G const& g, H const& h, I const& i, J const& j,
K const& k, L const& l, M const& m) const
{
T t(a, b, c, d, e, f, g, h, i, j, k, l, m);
return t;
}
};
template <typename T>
struct construct_14 {
template <
typename A
, typename B
, typename C
, typename D
, typename E
, typename F
, typename G
, typename H
, typename I
, typename J
, typename K
, typename L
, typename M
, typename N
>
struct result { typedef T type; };
template <
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J,
typename K, typename L, typename M, typename N
>
T operator()(
A const& a, B const& b, C const& c, D const& d, E const& e,
F const& f, G const& g, H const& h, I const& i, J const& j,
K const& k, L const& l, M const& m, N const& n) const
{
T t(a, b, c, d, e, f, g, h, i, j, k, l, m, n);
return t;
}
};
template <typename T>
struct construct_15 {
template <
typename A
, typename B
, typename C
, typename D
, typename E
, typename F
, typename G
, typename H
, typename I
, typename J
, typename K
, typename L
, typename M
, typename N
, typename O
>
struct result { typedef T type; };
template <
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J,
typename K, typename L, typename M, typename N, typename O
>
T operator()(
A const& a, B const& b, C const& c, D const& d, E const& e,
F const& f, G const& g, H const& h, I const& i, J const& j,
K const& k, L const& l, M const& m, N const& n, O const& o) const
{
T t(a, b, c, d, f, e, g, h, i, j, k, l, m, n, o);
return t;
}
};
#endif
#if defined(__BORLANDC__) || (defined(__MWERKS__) && (__MWERKS__ <= 0x3002))
///////////////////////////////////////////////////////////////////////////////
//
// The following specializations are needed because Borland and CodeWarrior
// does not accept default template arguments in nested template classes in
// classes (i.e construct_l::result)
//
///////////////////////////////////////////////////////////////////////////////
template <typename T, typename TupleT>
struct composite0_result<construct_l_0<T>, TupleT> {
typedef T type;
};
//////////////////////////////////
template <typename T, typename TupleT,
typename A>
struct composite1_result<construct_l<T>, TupleT, A> {
typedef T type;
};
//////////////////////////////////
template <typename T, typename TupleT,
typename A, typename B>
struct composite2_result<construct_l<T>, TupleT, A, B> {
typedef T type;
};
//////////////////////////////////
template <typename T, typename TupleT,
typename A, typename B, typename C>
struct composite3_result<construct_l<T>, TupleT, A, B, C> {
typedef T type;
};
#if PHOENIX_LIMIT > 3
//////////////////////////////////
template <typename T, typename TupleT,
typename A, typename B, typename C, typename D>
struct composite4_result<construct_l<T>, TupleT,
A, B, C, D> {
typedef T type;
};
//////////////////////////////////
template <typename T, typename TupleT,
typename A, typename B, typename C, typename D, typename E>
struct composite5_result<construct_l<T>, TupleT,
A, B, C, D, E> {
typedef T type;
};
//////////////////////////////////
template <typename T, typename TupleT,
typename A, typename B, typename C, typename D, typename E,
typename F>
struct composite6_result<construct_l<T>, TupleT,
A, B, C, D, E, F> {
typedef T type;
};
#if PHOENIX_LIMIT > 6
//////////////////////////////////
template <typename T, typename TupleT,
typename A, typename B, typename C, typename D, typename E,
typename F, typename G>
struct composite7_result<construct_l<T>, TupleT,
A, B, C, D, E, F, G> {
typedef T type;
};
//////////////////////////////////
template <typename T, typename TupleT,
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H>
struct composite8_result<construct_l<T>, TupleT,
A, B, C, D, E, F, G, H> {
typedef T type;
};
//////////////////////////////////
template <typename T, typename TupleT,
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I>
struct composite9_result<construct_l<T>, TupleT,
A, B, C, D, E, F, G, H, I> {
typedef T type;
};
#if PHOENIX_LIMIT > 9
//////////////////////////////////
template <typename T, typename TupleT,
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J>
struct composite10_result<construct_l<T>, TupleT,
A, B, C, D, E, F, G, H, I, J> {
typedef T type;
};
//////////////////////////////////
template <typename T, typename TupleT,
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J,
typename K>
struct composite11_result<construct_l<T>, TupleT,
A, B, C, D, E, F, G, H, I, J, K> {
typedef T type;
};
//////////////////////////////////
template <typename T, typename TupleT,
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J,
typename K, typename L>
struct composite12_result<construct_l<T>, TupleT,
A, B, C, D, E, F, G, H, I, J, K, L> {
typedef T type;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -