new.hpp
来自「support vector clustering for vc++」· HPP 代码 · 共 1,317 行 · 第 1/3 页
HPP
1,317 行
return type_t(composite_type_t(new_l_0<T>()));
}
//////////////////////////////////
template <typename T, typename A>
inline typename impl::make_composite<new_1<T>, A>::type
new_(A const& a)
{
typedef impl::make_composite<new_1<T>, A> make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_1<T>(),
as_actor<A>::convert(a)
));
}
//////////////////////////////////
template <typename T, typename A, typename B>
inline typename impl::make_composite<new_2<T>, A, B>::type
new_(A const& a, B const& b)
{
typedef impl::make_composite<new_2<T>, A, B> make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_2<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b)
));
}
//////////////////////////////////
template <typename T, typename A, typename B, typename C>
inline typename impl::make_composite<new_3<T>, A, B, C>::type
new_(A const& a, B const& b, C const& c)
{
typedef impl::make_composite<new_3<T>, A, B, C> make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_3<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b),
as_actor<C>::convert(c)
));
}
#if PHOENIX_CONSTRUCT_LIMIT > 3
//////////////////////////////////
template <
typename T, typename A, typename B, typename C, typename D
>
inline typename impl::make_composite<new_4<T>, A, B, C, D>::type
new_(
A const& a, B const& b, C const& c, D const& d)
{
typedef
impl::make_composite<new_4<T>, A, B, C, D>
make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_4<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b),
as_actor<C>::convert(c),
as_actor<D>::convert(d)
));
}
//////////////////////////////////
template <
typename T, typename A, typename B, typename C, typename D, typename E
>
inline typename impl::make_composite<new_5<T>, A, B, C, D, E>::type
new_(
A const& a, B const& b, C const& c, D const& d, E const& e)
{
typedef
impl::make_composite<new_5<T>, A, B, C, D, E>
make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_5<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b),
as_actor<C>::convert(c),
as_actor<D>::convert(d),
as_actor<E>::convert(e)
));
}
//////////////////////////////////
template <
typename T, typename A, typename B, typename C, typename D, typename E,
typename F
>
inline typename impl::make_composite<new_6<T>, A, B, C, D, E, F>::type
new_(
A const& a, B const& b, C const& c, D const& d, E const& e,
F const& f)
{
typedef
impl::make_composite<new_6<T>, A, B, C, D, E, F>
make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_6<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b),
as_actor<C>::convert(c),
as_actor<D>::convert(d),
as_actor<E>::convert(e),
as_actor<F>::convert(f)
));
}
#if PHOENIX_CONSTRUCT_LIMIT > 6
//////////////////////////////////
template <
typename T, typename A, typename B, typename C, typename D, typename E,
typename F, typename G
>
inline typename impl::make_composite<new_7<T>, A, B, C, D, E, F, G>::type
new_(
A const& a, B const& b, C const& c, D const& d, E const& e,
F const& f, G const& g)
{
typedef
impl::make_composite<new_7<T>, A, B, C, D, E, F, G>
make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_7<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b),
as_actor<C>::convert(c),
as_actor<D>::convert(d),
as_actor<E>::convert(e),
as_actor<F>::convert(f),
as_actor<G>::convert(g)
));
}
//////////////////////////////////
template <
typename T, typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H
>
inline typename impl::make_composite<new_8<T>, A, B, C, D, E, F, G, H>::type
new_(
A const& a, B const& b, C const& c, D const& d, E const& e,
F const& f, G const& g, H const& h)
{
typedef
impl::make_composite<new_8<T>, A, B, C, D, E, F, G, H>
make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_8<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b),
as_actor<C>::convert(c),
as_actor<D>::convert(d),
as_actor<E>::convert(e),
as_actor<F>::convert(f),
as_actor<G>::convert(g),
as_actor<H>::convert(h)
));
}
//////////////////////////////////
template <
typename T, typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I
>
inline typename impl::make_composite<new_9<T>, A, B, C, D, E, F, G, H, I>::type
new_(
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)
{
typedef
impl::make_composite<new_9<T>, A, B, C, D, E, F, G, H, I>
make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_9<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b),
as_actor<C>::convert(c),
as_actor<D>::convert(d),
as_actor<E>::convert(e),
as_actor<F>::convert(f),
as_actor<G>::convert(g),
as_actor<H>::convert(h),
as_actor<I>::convert(i)
));
}
#if PHOENIX_CONSTRUCT_LIMIT > 9
//////////////////////////////////
template <
typename T, typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J
>
inline typename impl::make_composite<
new_10<T>, A, B, C, D, E, F, G, H, I, J>::type
new_(
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)
{
typedef
impl::make_composite<
new_10<T>, A, B, C, D, E, F, G, H, I, J
>
make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_10<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b),
as_actor<C>::convert(c),
as_actor<D>::convert(d),
as_actor<E>::convert(e),
as_actor<F>::convert(f),
as_actor<G>::convert(g),
as_actor<H>::convert(h),
as_actor<I>::convert(i),
as_actor<J>::convert(j)
));
}
//////////////////////////////////
template <
typename T, typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J, typename K
>
inline typename impl::make_composite<
new_11<T>, A, B, C, D, E, F, G, H, I, J, K>::type
new_(
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)
{
typedef
impl::make_composite<
new_11<T>, A, B, C, D, E, F, G, H, I, J, K
>
make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_11<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b),
as_actor<C>::convert(c),
as_actor<D>::convert(d),
as_actor<E>::convert(e),
as_actor<F>::convert(f),
as_actor<G>::convert(g),
as_actor<H>::convert(h),
as_actor<I>::convert(i),
as_actor<J>::convert(j),
as_actor<K>::convert(k)
));
}
//////////////////////////////////
template <
typename T, typename A, typename B, typename C, typename D, typename E,
typename F, typename G, typename H, typename I, typename J, typename K,
typename L
>
inline typename impl::make_composite<
new_12<T>, A, B, C, D, E, F, G, H, I, J, K, L>::type
new_(
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)
{
typedef
impl::make_composite<
new_12<T>, A, B, C, D, E, F, G, H, I, J, K, L
>
make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_12<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b),
as_actor<C>::convert(c),
as_actor<D>::convert(d),
as_actor<E>::convert(e),
as_actor<F>::convert(f),
as_actor<G>::convert(g),
as_actor<H>::convert(h),
as_actor<I>::convert(i),
as_actor<J>::convert(j),
as_actor<K>::convert(k),
as_actor<L>::convert(l)
));
}
#if PHOENIX_CONSTRUCT_LIMIT > 12
//////////////////////////////////
template <
typename T, 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
>
inline typename impl::make_composite<
new_13<T>, A, B, C, D, E, F, G, H, I, J, K, L, M>::type
new_(
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)
{
typedef
impl::make_composite<
new_13<T>, A, B, C, D, E, F, G, H, I, J, K, L, M
>
make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_13<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b),
as_actor<C>::convert(c),
as_actor<D>::convert(d),
as_actor<E>::convert(e),
as_actor<F>::convert(f),
as_actor<G>::convert(g),
as_actor<H>::convert(h),
as_actor<I>::convert(i),
as_actor<J>::convert(j),
as_actor<K>::convert(k),
as_actor<L>::convert(l),
as_actor<M>::convert(m)
));
}
//////////////////////////////////
template <
typename T, 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
>
inline typename impl::make_composite<
new_14<T>, A, B, C, D, E, F, G, H, I, J, K, L, M>::type
new_(
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)
{
typedef
impl::make_composite<
new_14<T>, A, B, C, D, E, F, G, H, I, J, K, L, M, N
>
make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_14<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b),
as_actor<C>::convert(c),
as_actor<D>::convert(d),
as_actor<E>::convert(e),
as_actor<F>::convert(f),
as_actor<G>::convert(g),
as_actor<H>::convert(h),
as_actor<I>::convert(i),
as_actor<J>::convert(j),
as_actor<K>::convert(k),
as_actor<L>::convert(l),
as_actor<M>::convert(m),
as_actor<N>::convert(n)
));
}
//////////////////////////////////
template <
typename T, 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
>
inline typename impl::make_composite<
new_15<T>, A, B, C, D, E, F, G, H, I, J, K, L, M, O>::type
new_(
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)
{
typedef
impl::make_composite<
new_15<T>, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O
>
make_composite_t;
typedef typename make_composite_t::type type_t;
typedef typename make_composite_t::composite_type composite_type_t;
return type_t(composite_type_t(new_15<T>(),
as_actor<A>::convert(a),
as_actor<B>::convert(b),
as_actor<C>::convert(c),
as_actor<D>::convert(d),
as_actor<E>::convert(e),
as_actor<F>::convert(f),
as_actor<G>::convert(g),
as_actor<H>::convert(h),
as_actor<I>::convert(i),
as_actor<J>::convert(j),
as_actor<K>::convert(k),
as_actor<L>::convert(l),
as_actor<M>::convert(m),
as_actor<N>::convert(n),
as_actor<O>::convert(o)
));
}
#endif
#endif
#endif
#endif
///////////////////////////////////////////////////////////////////////////////
} // namespace phoenix
#endif // PHOENIX_NEW_HPP
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?