diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/stdapis/boost/mpl/aux_/iter_fold_impl.hpp --- a/epoc32/include/stdapis/boost/mpl/aux_/iter_fold_impl.hpp Wed Mar 31 12:27:01 2010 +0100 +++ b/epoc32/include/stdapis/boost/mpl/aux_/iter_fold_impl.hpp Wed Mar 31 12:33:34 2010 +0100 @@ -1,3 +1,6 @@ + +#ifndef BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2000-2004 // @@ -5,176 +8,35 @@ // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // +// See http://www.boost.org/libs/mpl for documentation. -// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header -// -- DO NOT modify by hand! +// $Source: /cvsroot/boost/boost/boost/mpl/aux_/iter_fold_impl.hpp,v $ +// $Date: 2004/09/02 15:40:43 $ +// $Revision: 1.5 $ -namespace boost { namespace mpl { namespace aux { +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +# include +# include +# endif +#endif -/// forward declaration +#include -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl; +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; +# define BOOST_MPL_PREPROCESSED_HEADER iter_fold_impl.hpp +# include -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - +#else - typedef state1 state; - typedef iter1 iterator; -}; +# define AUX778076_FOLD_IMPL_OP(iter) iter +# define AUX778076_FOLD_IMPL_NAME_PREFIX iter_fold +# include -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,state3,iter3 >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl -{ - typedef iter_fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,First,Last,State,ForwardOp > - : iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED