casts.hpp
来自「CGAL is a collaborative effort of severa」· HPP 代码 · 共 1,472 行 · 第 1/3 页
HPP
1,472 行
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 > 6template <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 > 9template <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 > 12template <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 + =
减小字号Ctrl + -
显示快捷键?