📄 tuples.hpp
字号:
typedef E e_type; typedef F f_type;
typedef G g_type; typedef H h_type;
tuple() {}
tuple(
typename call_traits<A>::param_type a_,
typename call_traits<B>::param_type b_,
typename call_traits<C>::param_type c_,
typename call_traits<D>::param_type d_,
typename call_traits<E>::param_type e_,
typename call_traits<F>::param_type f_,
typename call_traits<G>::param_type g_,
typename call_traits<H>::param_type h_
): a(a_), b(b_), c(c_), d(d_), e(e_),
f(f_), g(g_), h(h_) {}
template <typename TupleT>
tuple(TupleT const& init)
: a(init[tuple_index<0>()]), b(init[tuple_index<1>()]),
c(init[tuple_index<2>()]), d(init[tuple_index<3>()]),
e(init[tuple_index<4>()]), f(init[tuple_index<5>()]),
g(init[tuple_index<6>()]), h(init[tuple_index<7>()])
{ BOOST_STATIC_ASSERT(TupleT::length == length); }
A a; B b; C c; D d; E e;
F f; G g; H h;
};
///////////////////////////////////////////////////////////////////////////////
//
// tuple <9 member> class
//
///////////////////////////////////////////////////////////////////////////////
template <
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I>
struct tuple<A, B, C, D, E, F, G, H, I,
#if PHOENIX_LIMIT > 9
nil_t, nil_t, nil_t,
#if PHOENIX_LIMIT > 12
nil_t, nil_t, nil_t,
#endif
#endif
nil_t // Unused
>
: public tuple_base<tuple<A, B, C, D, E, F, G, H, I> > {
BOOST_STATIC_CONSTANT(int, length = 9);
typedef A a_type; typedef B b_type;
typedef C c_type; typedef D d_type;
typedef E e_type; typedef F f_type;
typedef G g_type; typedef H h_type;
typedef I i_type;
tuple() {}
tuple(
typename call_traits<A>::param_type a_,
typename call_traits<B>::param_type b_,
typename call_traits<C>::param_type c_,
typename call_traits<D>::param_type d_,
typename call_traits<E>::param_type e_,
typename call_traits<F>::param_type f_,
typename call_traits<G>::param_type g_,
typename call_traits<H>::param_type h_,
typename call_traits<I>::param_type i_
): a(a_), b(b_), c(c_), d(d_), e(e_),
f(f_), g(g_), h(h_), i(i_) {}
template <typename TupleT>
tuple(TupleT const& init)
: a(init[tuple_index<0>()]), b(init[tuple_index<1>()]),
c(init[tuple_index<2>()]), d(init[tuple_index<3>()]),
e(init[tuple_index<4>()]), f(init[tuple_index<5>()]),
g(init[tuple_index<6>()]), h(init[tuple_index<7>()]),
i(init[tuple_index<8>()])
{ BOOST_STATIC_ASSERT(TupleT::length == length); }
A a; B b; C c; D d; E e;
F f; G g; H h; I i;
};
#if PHOENIX_LIMIT > 9
///////////////////////////////////////////////////////////////////////////////
//
// tuple <10 member> class
//
///////////////////////////////////////////////////////////////////////////////
template <
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J>
struct tuple<A, B, C, D, E, F, G, H, I, J, nil_t, nil_t,
#if PHOENIX_LIMIT > 12
nil_t, nil_t, nil_t,
#endif
nil_t // Unused
>
: public tuple_base<tuple<A, B, C, D, E, F, G, H, I, J> > {
BOOST_STATIC_CONSTANT(int, length = 10);
typedef A a_type; typedef B b_type;
typedef C c_type; typedef D d_type;
typedef E e_type; typedef F f_type;
typedef G g_type; typedef H h_type;
typedef I i_type; typedef J j_type;
tuple() {}
tuple(
typename call_traits<A>::param_type a_,
typename call_traits<B>::param_type b_,
typename call_traits<C>::param_type c_,
typename call_traits<D>::param_type d_,
typename call_traits<E>::param_type e_,
typename call_traits<F>::param_type f_,
typename call_traits<G>::param_type g_,
typename call_traits<H>::param_type h_,
typename call_traits<I>::param_type i_,
typename call_traits<J>::param_type j_
): a(a_), b(b_), c(c_), d(d_), e(e_),
f(f_), g(g_), h(h_), i(i_), j(j_) {}
template <typename TupleT>
tuple(TupleT const& init)
: a(init[tuple_index<0>()]), b(init[tuple_index<1>()]),
c(init[tuple_index<2>()]), d(init[tuple_index<3>()]),
e(init[tuple_index<4>()]), f(init[tuple_index<5>()]),
g(init[tuple_index<6>()]), h(init[tuple_index<7>()]),
i(init[tuple_index<8>()]), j(init[tuple_index<9>()])
{ BOOST_STATIC_ASSERT(TupleT::length == length); }
A a; B b; C c; D d; E e;
F f; G g; H h; I i; J j;
};
///////////////////////////////////////////////////////////////////////////////
//
// tuple <11 member> class
//
///////////////////////////////////////////////////////////////////////////////
template <
typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J,
typename K>
struct tuple<A, B, C, D, E, F, G, H, I, J, K, nil_t,
#if PHOENIX_LIMIT > 12
nil_t, nil_t, nil_t,
#endif
nil_t // Unused
>
: public tuple_base<tuple<A, B, C, D, E, F, G, H, I, J, K> > {
BOOST_STATIC_CONSTANT(int, length = 11);
typedef A a_type; typedef B b_type;
typedef C c_type; typedef D d_type;
typedef E e_type; typedef F f_type;
typedef G g_type; typedef H h_type;
typedef I i_type; typedef J j_type;
typedef K k_type;
tuple() {}
tuple(
typename call_traits<A>::param_type a_,
typename call_traits<B>::param_type b_,
typename call_traits<C>::param_type c_,
typename call_traits<D>::param_type d_,
typename call_traits<E>::param_type e_,
typename call_traits<F>::param_type f_,
typename call_traits<G>::param_type g_,
typename call_traits<H>::param_type h_,
typename call_traits<I>::param_type i_,
typename call_traits<J>::param_type j_,
typename call_traits<K>::param_type k_
): a(a_), b(b_), c(c_), d(d_), e(e_),
f(f_), g(g_), h(h_), i(i_), j(j_),
k(k_) {}
template <typename TupleT>
tuple(TupleT const& init)
: a(init[tuple_index<0>()]), b(init[tuple_index<1>()]),
c(init[tuple_index<2>()]), d(init[tuple_index<3>()]),
e(init[tuple_index<4>()]), f(init[tuple_index<5>()]),
g(init[tuple_index<6>()]), h(init[tuple_index<7>()]),
i(init[tuple_index<8>()]), j(init[tuple_index<9>()]),
k(init[tuple_index<10>()])
{ BOOST_STATIC_ASSERT(TupleT::length == length); }
A a; B b; C c; D d; E e;
F f; G g; H h; I i; J j;
K k;
};
///////////////////////////////////////////////////////////////////////////////
//
// tuple <12 member> class
//
///////////////////////////////////////////////////////////////////////////////
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 tuple<A, B, C, D, E, F, G, H, I, J, K, L,
#if PHOENIX_LIMIT > 12
nil_t, nil_t, nil_t,
#endif
nil_t // Unused
>
: public tuple_base<tuple<A, B, C, D, E, F, G, H, I, J, K, L> > {
BOOST_STATIC_CONSTANT(int, length = 12);
typedef A a_type; typedef B b_type;
typedef C c_type; typedef D d_type;
typedef E e_type; typedef F f_type;
typedef G g_type; typedef H h_type;
typedef I i_type; typedef J j_type;
typedef K k_type; typedef L l_type;
tuple() {}
tuple(
typename call_traits<A>::param_type a_,
typename call_traits<B>::param_type b_,
typename call_traits<C>::param_type c_,
typename call_traits<D>::param_type d_,
typename call_traits<E>::param_type e_,
typename call_traits<F>::param_type f_,
typename call_traits<G>::param_type g_,
typename call_traits<H>::param_type h_,
typename call_traits<I>::param_type i_,
typename call_traits<J>::param_type j_,
typename call_traits<K>::param_type k_,
typename call_traits<L>::param_type l_
): a(a_), b(b_), c(c_), d(d_), e(e_),
f(f_), g(g_), h(h_), i(i_), j(j_),
k(k_), l(l_) {}
template <typename TupleT>
tuple(TupleT const& init)
: a(init[tuple_index<0>()]), b(init[tuple_index<1>()]),
c(init[tuple_index<2>()]), d(init[tuple_index<3>()]),
e(init[tuple_index<4>()]), f(init[tuple_index<5>()]),
g(init[tuple_index<6>()]), h(init[tuple_index<7>()]),
i(init[tuple_index<8>()]), j(init[tuple_index<9>()]),
k(init[tuple_index<10>()]), l(init[tuple_index<11>()])
{ BOOST_STATIC_ASSERT(TupleT::length == length); }
A a; B b; C c; D d; E e;
F f; G g; H h; I i; J j;
K k; L l;
};
#if PHOENIX_LIMIT > 12
///////////////////////////////////////////////////////////////////////////////
//
// tuple <13 member> class
//
///////////////////////////////////////////////////////////////////////////////
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 tuple<A, B, C, D, E, F, G, H, I, J, K, L, M, nil_t, nil_t, nil_t>
: public tuple_base<
tuple<A, B, C, D, E, F, G, H, I, J, K, L, M> > {
BOOST_STATIC_CONSTANT(int, length = 13);
typedef A a_type; typedef B b_type;
typedef C c_type; typedef D d_type;
typedef E e_type; typedef F f_type;
typedef G g_type; typedef H h_type;
typedef I i_type; typedef J j_type;
typedef K k_type; typedef L l_type;
typedef M m_type;
tuple() {}
tuple(
typename call_traits<A>::param_type a_,
typename call_traits<B>::param_type b_,
typename call_traits<C>::param_type c_,
typename call_traits<D>::param_type d_,
typename call_traits<E>::param_type e_,
typename call_traits<F>::param_type f_,
typename call_traits<G>::param_type g_,
typename call_traits<H>::param_type h_,
typename call_traits<I>::param_type i_,
typename call_traits<J>::param_type j_,
typename call_traits<K>::param_type k_,
typename call_traits<L>::param_type l_,
typename call_traits<M>::param_type m_
): a(a_), b(b_), c(c_), d(d_), e(e_),
f(f_), g(g_), h(h_), i(i_), j(j_),
k(k_), l(l_), m(m_) {}
template <typename TupleT>
tuple(TupleT const& init)
: a(init[tuple_index<0>()]), b(init[tuple_index<1>()]),
c(init[tuple_index<2>()]), d(init[tuple_index<3>()]),
e(init[tuple_index<4>()]), f(init[tuple_index<5>()]),
g(init[tuple_index<6>()]), h(init[tuple_index<7>()]),
i(init[tuple_index<8>()]), j(init[tuple_index<9>()]),
k(init[tuple_index<10>()]), l(init[tuple_index<11>()]),
m(init[tuple_index<12>()])
{ BOOST_STATIC_ASSERT(TupleT::length == length); }
A a; B b; C c; D d; E e;
F f; G g; H h; I i; J j;
K k; L l; M m;
};
///////////////////////////////////////////////////////////////////////////////
//
// tuple <14 member> class
//
///////////////////////////////////////////////////////////////////////////////
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 tuple<A, B, C, D, E, F, G, H, I, J, K, L, M, N, nil_t, nil_t>
: public tuple_base<
tuple<A, B, C, D, E, F, G, H, I, J, K, L, M, N> > {
BOOST_STATIC_CONSTANT(int, length = 14);
typedef A a_type; typedef B b_type;
typedef C c_type; typedef D d_type;
typedef E e_type; typedef F f_type;
typedef G g_type; typedef H h_type;
typedef I i_type; typedef J j_type;
typedef K k_type; typedef L l_type;
typedef M m_type; typedef N n_type;
tuple() {}
tuple(
typename call_traits<A>::param_type a_,
typename call_traits<B>::param_type b_,
typename call_traits<C>::param_type c_,
typename call_traits<D>::param_type d_,
typename call_traits<E>::param_type e_,
typename call_traits<F>::param_type f_,
typename call_traits<G>::param_type g_,
typename call_traits<H>::param_type h_,
typename call_traits<I>::param_type i_,
typename call_traits<J>::param_type j_,
typename call_traits<K>::param_type k_,
typename call_traits<L>::param_type l_,
typename call_traits<M>::param_type m_,
typename call_traits<N>::param_type n_
): a(a_), b(b_), c(c_), d(d_), e(e_),
f(f_), g(g_), h(h_), i(i_), j(j_),
k(k_), l(l_), m(m_), n(n_) {}
template <typename TupleT>
tuple(TupleT const& init)
: a(init[tuple_index<0>()]), b(init[tuple_index<1>()]),
c(init[tuple_index<2>()]), d(init[tuple_index<3>()]),
e(init[tuple_index<4>()]), f(init[tuple_index<5>()]),
g(init[tuple_index<6>()]), h(init[tuple_index<7>()]),
i(init[tuple_index<8>()]), j(init[tuple_index<9>()]),
k(init[tuple_index<10>()]), l(init[tuple_index<11>()]),
m(init[tuple_index<12>()]), n(init[tuple_index<13>()])
{ BOOST_STATIC_ASSERT(TupleT::length == length); }
A a; B b; C c; D d; E e;
F f; G g; H h; I i; J j;
K k; L l; M m; N n;
};
///////////////////////////////////////////////////////////////////////////////
//
// tuple <15 member> class
//
///////////////////////////////////////////////////////////////////////////////
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 tuple<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, nil_t>
: public tuple_base<
tuple<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> > {
BOOST_STATIC_CONSTANT(int, length = 15);
typedef A a_type; typedef B b_type;
typedef C c_type; typedef D d_type;
typedef E e_type; typedef F f_type;
typedef G g_type; typedef H h_type;
typedef I i_type; typedef J j_type;
typedef K k_type; typedef L l_type;
typedef M m_type; typedef N n_type;
typedef O o_type;
tuple() {}
tuple(
typename call_traits<A>::param_type a_,
typename call_traits<B>::param_type b_,
typename call_traits<C>::param_type c_,
typename call_traits<D>::param_type d_,
typename call_traits<E>::param_type e_,
typename call_traits<F>::param_type f_,
typename call_traits<G>::param_type g_,
typename call_traits<H>::param_type h_,
typename call_traits<I>::param_type i_,
typename call_traits<J>::param_type j_,
typename call_traits<K>::param_type k_,
typename call_traits<L>::param_type l_,
typename call_traits<M>::param_type m_,
typename call_traits<N>::param_type n_,
typename call_traits<O>::param_type o_
): a(a_), b(b_), c(c_), d(d_), e(e_),
f(f_), g(g_), h(h_), i(i_), j(j_),
k(k_), l(l_), m(m_), n(n_), o(o_) {}
template <typename TupleT>
tuple(TupleT const& init)
: a(init[tuple_index<0>()]), b(init[tuple_index<1>()]),
c(init[tuple_index<2>()]), d(init[tuple_index<3>()]),
e(init[tuple_index<4>()]), f(init[tuple_index<5>()]),
g(init[tuple_index<6>()]), h(init[tuple_index<7>()]),
i(init[tuple_index<8>()]), j(init[tuple_index<9>()]),
k(init[tuple_index<10>()]), l(init[tuple_index<11>()]),
m(init[tuple_index<12>()]), n(init[tuple_index<13>()]),
o(init[tuple_index<14>()])
{ BOOST_STATIC_ASSERT(TupleT::length == length); }
A a; B b; C c; D d; E e;
F f; G g; H h; I i; J j;
K k; L l; M m; N n; O o;
};
#endif
#endif
#endif
#endif
///////////////////////////////////////////////////////////////////////////////
} // namespace phoenix
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -