⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 closure.hpp

📁 C++的一个好库。。。现在很流行
💻 HPP
📖 第 1 页 / 共 4 页
字号:
                    );
            }

            template <typename A, typename B>
            init_closure_parser<
                DerivedT2,
                phoenix::tuple<
                    typename phoenix::as_actor<A>::type,
                    typename phoenix::as_actor<B>::type
                >
            >
            operator()(A const &a, B const &b) const
            {
                typedef typename phoenix::as_actor<A>::type a_t;
                typedef typename phoenix::as_actor<B>::type b_t;
                typedef phoenix::tuple<a_t, b_t> actor_tuple_t;

                return init_closure_parser<DerivedT2, actor_tuple_t>(
                        aux_derived(),
                        actor_tuple_t(
                            phoenix::as_actor<A>::convert(a),
                            phoenix::as_actor<B>::convert(b)
                        )
                    );
            }

            template <typename A, typename B, typename C>
            init_closure_parser<
                DerivedT2,
                phoenix::tuple<
                    typename phoenix::as_actor<A>::type,
                    typename phoenix::as_actor<B>::type,
                    typename phoenix::as_actor<C>::type
                >
            >
            operator()(A const &a, B const &b, C const &c) const
            {
                typedef typename phoenix::as_actor<A>::type a_t;
                typedef typename phoenix::as_actor<B>::type b_t;
                typedef typename phoenix::as_actor<C>::type c_t;
                typedef phoenix::tuple<a_t, b_t, c_t> actor_tuple_t;

                return init_closure_parser<DerivedT2, actor_tuple_t>(
                        aux_derived(),
                        actor_tuple_t(
                            phoenix::as_actor<A>::convert(a),
                            phoenix::as_actor<B>::convert(b),
                            phoenix::as_actor<C>::convert(c)
                        )
                    );
            }

    #if BOOST_SPIRIT_CLOSURE_LIMIT > 3

            template <
                typename A, typename B, typename C, typename D
            >
            init_closure_parser<
                DerivedT2,
                phoenix::tuple<
                    typename phoenix::as_actor<A>::type,
                    typename phoenix::as_actor<B>::type,
                    typename phoenix::as_actor<C>::type,
                    typename phoenix::as_actor<D>::type
                >
            >
            operator()(
                A const &a, B const &b, C const &c, D const &d
            ) const
            {
                typedef typename phoenix::as_actor<A>::type a_t;
                typedef typename phoenix::as_actor<B>::type b_t;
                typedef typename phoenix::as_actor<C>::type c_t;
                typedef typename phoenix::as_actor<D>::type d_t;
                typedef phoenix::tuple<
                            a_t, b_t, c_t, d_t
                        > actor_tuple_t;

                return init_closure_parser<DerivedT2, actor_tuple_t>(
                        aux_derived(),
                        actor_tuple_t(
                            phoenix::as_actor<A>::convert(a),
                            phoenix::as_actor<B>::convert(b),
                            phoenix::as_actor<C>::convert(c),
                            phoenix::as_actor<D>::convert(d)
                        )
                    );
            }

            template <
                typename A, typename B, typename C, typename D, typename E
            >
            init_closure_parser<
                DerivedT2,
                phoenix::tuple<
                    typename phoenix::as_actor<A>::type,
                    typename phoenix::as_actor<B>::type,
                    typename phoenix::as_actor<C>::type,
                    typename phoenix::as_actor<D>::type,
                    typename phoenix::as_actor<E>::type
                >
            >
            operator()(
                A const &a, B const &b, C const &c, D const &d, E const &e
            ) const
            {
                typedef typename phoenix::as_actor<A>::type a_t;
                typedef typename phoenix::as_actor<B>::type b_t;
                typedef typename phoenix::as_actor<C>::type c_t;
                typedef typename phoenix::as_actor<D>::type d_t;
                typedef typename phoenix::as_actor<E>::type e_t;
                typedef phoenix::tuple<
                            a_t, b_t, c_t, d_t, e_t
                        > actor_tuple_t;

                return init_closure_parser<DerivedT2, actor_tuple_t>(
                        aux_derived(),
                        actor_tuple_t(
                            phoenix::as_actor<A>::convert(a),
                            phoenix::as_actor<B>::convert(b),
                            phoenix::as_actor<C>::convert(c),
                            phoenix::as_actor<D>::convert(d),
                            phoenix::as_actor<E>::convert(e)
                        )
                    );
            }

            template <
                typename A, typename B, typename C, typename D, typename E,
                typename F
            >
            init_closure_parser<
                DerivedT2,
                phoenix::tuple<
                    typename phoenix::as_actor<A>::type,
                    typename phoenix::as_actor<B>::type,
                    typename phoenix::as_actor<C>::type,
                    typename phoenix::as_actor<D>::type,
                    typename phoenix::as_actor<E>::type,
                    typename phoenix::as_actor<F>::type
                >
            >
            operator()(
                A const &a, B const &b, C const &c, D const &d, E const &e,
                F const &f
            ) const
            {
                typedef typename phoenix::as_actor<A>::type a_t;
                typedef typename phoenix::as_actor<B>::type b_t;
                typedef typename phoenix::as_actor<C>::type c_t;
                typedef typename phoenix::as_actor<D>::type d_t;
                typedef typename phoenix::as_actor<E>::type e_t;
                typedef typename phoenix::as_actor<F>::type f_t;
                typedef phoenix::tuple<
                            a_t, b_t, c_t, d_t, e_t, f_t
                        > actor_tuple_t;

                return init_closure_parser<DerivedT2, actor_tuple_t>(
                        aux_derived(),
                        actor_tuple_t(
                            phoenix::as_actor<A>::convert(a),
                            phoenix::as_actor<B>::convert(b),
                            phoenix::as_actor<C>::convert(c),
                            phoenix::as_actor<D>::convert(d),
                            phoenix::as_actor<E>::convert(e),
                            phoenix::as_actor<F>::convert(f)
                        )
                    );
            }

    #if BOOST_SPIRIT_CLOSURE_LIMIT > 6

            template <
                typename A, typename B, typename C, typename D, typename E,
                typename F, typename G
            >
            init_closure_parser<
                DerivedT2,
                phoenix::tuple<
                    typename phoenix::as_actor<A>::type,
                    typename phoenix::as_actor<B>::type,
                    typename phoenix::as_actor<C>::type,
                    typename phoenix::as_actor<D>::type,
                    typename phoenix::as_actor<E>::type,
                    typename phoenix::as_actor<F>::type,
                    typename phoenix::as_actor<G>::type
                >
            >
            operator()(
                A const &a, B const &b, C const &c, D const &d, E const &e,
                F const &f, G const &g
            ) const
            {
                typedef typename phoenix::as_actor<A>::type a_t;
                typedef typename phoenix::as_actor<B>::type b_t;
                typedef typename phoenix::as_actor<C>::type c_t;
                typedef typename phoenix::as_actor<D>::type d_t;
                typedef typename phoenix::as_actor<E>::type e_t;
                typedef typename phoenix::as_actor<F>::type f_t;
                typedef typename phoenix::as_actor<G>::type g_t;
                typedef phoenix::tuple<
                            a_t, b_t, c_t, d_t, e_t, f_t, g_t
                        > actor_tuple_t;

                return init_closure_parser<DerivedT2, actor_tuple_t>(
                        aux_derived(),
                        actor_tuple_t(
                            phoenix::as_actor<A>::convert(a),
                            phoenix::as_actor<B>::convert(b),
                            phoenix::as_actor<C>::convert(c),
                            phoenix::as_actor<D>::convert(d),
                            phoenix::as_actor<E>::convert(e),
                            phoenix::as_actor<F>::convert(f),
                            phoenix::as_actor<G>::convert(g)
                        )
                    );
            }

            template <
                typename A, typename B, typename C, typename D, typename E,
                typename F, typename G, typename H
            >
            init_closure_parser<
                DerivedT2,
                phoenix::tuple<
                    typename phoenix::as_actor<A>::type,
                    typename phoenix::as_actor<B>::type,
                    typename phoenix::as_actor<C>::type,
                    typename phoenix::as_actor<D>::type,
                    typename phoenix::as_actor<E>::type,
                    typename phoenix::as_actor<F>::type,
                    typename phoenix::as_actor<G>::type,
                    typename phoenix::as_actor<H>::type
                >
            >
            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
            {
                typedef typename phoenix::as_actor<A>::type a_t;
                typedef typename phoenix::as_actor<B>::type b_t;
                typedef typename phoenix::as_actor<C>::type c_t;
                typedef typename phoenix::as_actor<D>::type d_t;
                typedef typename phoenix::as_actor<E>::type e_t;
                typedef typename phoenix::as_actor<F>::type f_t;
                typedef typename phoenix::as_actor<G>::type g_t;
                typedef typename phoenix::as_actor<H>::type h_t;
                typedef phoenix::tuple<
                            a_t, b_t, c_t, d_t, e_t, f_t, g_t, h_t
                        > actor_tuple_t;

                return init_closure_parser<DerivedT2, actor_tuple_t>(
                        aux_derived(),
                        actor_tuple_t(
                            phoenix::as_actor<A>::convert(a),
                            phoenix::as_actor<B>::convert(b),
                            phoenix::as_actor<C>::convert(c),
                            phoenix::as_actor<D>::convert(d),
                            phoenix::as_actor<E>::convert(e),
                            phoenix::as_actor<F>::convert(f),
                            phoenix::as_actor<G>::convert(g),
                            phoenix::as_actor<H>::convert(h)
                        )
                    );
            }

            template <
                typename A, typename B, typename C, typename D, typename E,
                typename F, typename G, typename H, typename I

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -