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 + -
显示快捷键?