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

📄 fold_backward_impl.hpp

📁 正则表达式源代码
💻 HPP
字号:
// preprocessed version of 'boost/mpl/aux_/fold_backward_impl.hpp' header// see the original for copyright informationnamespace boost {namespace mpl {namespace aux {// forward declarationtemplate<      long N    , typename First    , typename Last    , typename State    , typename BackwardOp    , typename ForwardOp    > struct fold_backward_impl;template<      typename First    , typename Last    , typename State    , typename BackwardOp    , typename ForwardOp    >struct fold_backward_impl< 0,First,Last,State,BackwardOp,ForwardOp >{    typedef First iter0;    typedef State fwd_state0;    typedef fwd_state0 bkwd_state0;    typedef bkwd_state0 state;    typedef iter0 iterator;};template<      typename First    , typename Last    , typename State    , typename BackwardOp    , typename ForwardOp    >struct fold_backward_impl< 1,First,Last,State,BackwardOp,ForwardOp >{    typedef First iter0;    typedef State fwd_state0;    typedef typename apply2<ForwardOp, fwd_state0, typename iter0::type>::type fwd_state1;    typedef typename iter0::next iter1;        typedef fwd_state1 bkwd_state1;    typedef typename apply2<BackwardOp, bkwd_state1, typename iter0::type>::type bkwd_state0;    typedef bkwd_state0 state;    typedef iter1 iterator;};template<      typename First    , typename Last    , typename State    , typename BackwardOp    , typename ForwardOp    >struct fold_backward_impl< 2,First,Last,State,BackwardOp,ForwardOp >{    typedef First iter0;    typedef State fwd_state0;    typedef typename apply2<ForwardOp, fwd_state0, typename iter0::type>::type fwd_state1;    typedef typename iter0::next iter1;    typedef typename apply2<ForwardOp, fwd_state1, typename iter1::type>::type fwd_state2;    typedef typename iter1::next iter2;        typedef fwd_state2 bkwd_state2;    typedef typename apply2<BackwardOp, bkwd_state2, typename iter1::type>::type bkwd_state1;    typedef typename apply2<BackwardOp, bkwd_state1, typename iter0::type>::type bkwd_state0;        typedef bkwd_state0 state;    typedef iter2 iterator;};template<      typename First    , typename Last    , typename State    , typename BackwardOp    , typename ForwardOp    >struct fold_backward_impl< 3,First,Last,State,BackwardOp,ForwardOp >{    typedef First iter0;    typedef State fwd_state0;    typedef typename apply2<ForwardOp, fwd_state0, typename iter0::type>::type fwd_state1;    typedef typename iter0::next iter1;    typedef typename apply2<ForwardOp, fwd_state1, typename iter1::type>::type fwd_state2;    typedef typename iter1::next iter2;    typedef typename apply2<ForwardOp, fwd_state2, typename iter2::type>::type fwd_state3;    typedef typename iter2::next iter3;        typedef fwd_state3 bkwd_state3;    typedef typename apply2<BackwardOp, bkwd_state3, typename iter2::type>::type bkwd_state2;    typedef typename apply2<BackwardOp, bkwd_state2, typename iter1::type>::type bkwd_state1;    typedef typename apply2<BackwardOp, bkwd_state1, typename iter0::type>::type bkwd_state0;        typedef bkwd_state0 state;    typedef iter3 iterator;};template<      typename First    , typename Last    , typename State    , typename BackwardOp    , typename ForwardOp    >struct fold_backward_impl< 4,First,Last,State,BackwardOp,ForwardOp >{    typedef First iter0;    typedef State fwd_state0;    typedef typename apply2<ForwardOp, fwd_state0, typename iter0::type>::type fwd_state1;    typedef typename iter0::next iter1;    typedef typename apply2<ForwardOp, fwd_state1, typename iter1::type>::type fwd_state2;    typedef typename iter1::next iter2;    typedef typename apply2<ForwardOp, fwd_state2, typename iter2::type>::type fwd_state3;    typedef typename iter2::next iter3;    typedef typename apply2<ForwardOp, fwd_state3, typename iter3::type>::type fwd_state4;    typedef typename iter3::next iter4;        typedef fwd_state4 bkwd_state4;    typedef typename apply2<BackwardOp, bkwd_state4, typename iter3::type>::type bkwd_state3;    typedef typename apply2<BackwardOp, bkwd_state3, typename iter2::type>::type bkwd_state2;    typedef typename apply2<BackwardOp, bkwd_state2, typename iter1::type>::type bkwd_state1;    typedef typename apply2<BackwardOp, bkwd_state1, typename iter0::type>::type bkwd_state0;        typedef bkwd_state0 state;    typedef iter4 iterator;};template<      long N    , typename First    , typename Last    , typename State    , typename BackwardOp    , typename ForwardOp    > struct fold_backward_impl{    typedef First iter0;    typedef State fwd_state0;    typedef typename apply2<ForwardOp, fwd_state0, typename iter0::type>::type fwd_state1;    typedef typename iter0::next iter1;    typedef typename apply2<ForwardOp, fwd_state1, typename iter1::type>::type fwd_state2;    typedef typename iter1::next iter2;    typedef typename apply2<ForwardOp, fwd_state2, typename iter2::type>::type fwd_state3;    typedef typename iter2::next iter3;    typedef typename apply2<ForwardOp, fwd_state3, typename iter3::type>::type fwd_state4;    typedef typename iter3::next iter4;        typedef fold_backward_impl<          ( (N - 4) < 0 ? 0 : N - 4 )        , iter4        , Last        , fwd_state4        , BackwardOp        , ForwardOp        > nested_chunk;            typedef typename nested_chunk::state bkwd_state4;    typedef typename apply2<BackwardOp, bkwd_state4, typename iter3::type>::type bkwd_state3;    typedef typename apply2<BackwardOp, bkwd_state3, typename iter2::type>::type bkwd_state2;    typedef typename apply2<BackwardOp, bkwd_state2, typename iter1::type>::type bkwd_state1;    typedef typename apply2<BackwardOp, bkwd_state1, typename iter0::type>::type bkwd_state0;        typedef bkwd_state0 state;    typedef typename nested_chunk::iterator iterator;};template<      typename First    , typename Last    , typename State    , typename BackwardOp    , typename ForwardOp    > struct fold_backward_impl< -1,First,Last,State,BackwardOp,ForwardOp >{    typedef fold_backward_impl<          -1        , typename First::next        , Last        , typename apply2<ForwardOp, State, typename First::type>::type        , BackwardOp        , ForwardOp        > nested_step;    typedef typename apply2<BackwardOp, typename nested_step::state, typename First::type>::type state;    typedef typename nested_step::iterator iterator;};template<      typename Last    , typename State    , typename BackwardOp    , typename ForwardOp    > struct fold_backward_impl< -1,Last,Last,State,BackwardOp,ForwardOp >{    typedef State state;    typedef Last iterator;};} // namespace aux} // namespace mpl} // namespace boost

⌨️ 快捷键说明

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