1 2 // Copyright Aleksey Gurtovoy 2000-2004 3 // 4 // Distributed under the Boost Software License, Version 1.0. 5 // (See accompanying file LICENSE_1_0.txt or copy at 6 // http://www.boost.org/LICENSE_1_0.txt) 7 // 8 9 // Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header 10 // -- DO NOT modify by hand! 11 12 namespace boost { namespace mpl { namespace aux { 13 14 template< long N > struct advance_forward; 15 template<> 16 struct advance_forward<0> 17 { 18 template< typename Iterator > struct apply 19 { 20 typedef Iterator iter0; 21 typedef iter0 type; 22 }; 23 }; 24 25 template<> 26 struct advance_forward<1> 27 { 28 template< typename Iterator > struct apply 29 { 30 typedef Iterator iter0; 31 typedef typename next<iter0>::type iter1; 32 typedef iter1 type; 33 }; 34 }; 35 36 template<> 37 struct advance_forward<2> 38 { 39 template< typename Iterator > struct apply 40 { 41 typedef Iterator iter0; 42 typedef typename next<iter0>::type iter1; 43 typedef typename next<iter1>::type iter2; 44 typedef iter2 type; 45 }; 46 }; 47 48 template<> 49 struct advance_forward<3> 50 { 51 template< typename Iterator > struct apply 52 { 53 typedef Iterator iter0; 54 typedef typename next<iter0>::type iter1; 55 typedef typename next<iter1>::type iter2; 56 typedef typename next<iter2>::type iter3; 57 typedef iter3 type; 58 }; 59 }; 60 61 template<> 62 struct advance_forward<4> 63 { 64 template< typename Iterator > struct apply 65 { 66 typedef Iterator iter0; 67 typedef typename next<iter0>::type iter1; 68 typedef typename next<iter1>::type iter2; 69 typedef typename next<iter2>::type iter3; 70 typedef typename next<iter3>::type iter4; 71 typedef iter4 type; 72 }; 73 }; 74 75 template< long N > 76 struct advance_forward 77 { 78 template< typename Iterator > struct apply 79 { 80 typedef typename apply_wrap1< 81 advance_forward<4> 82 , Iterator 83 >::type chunk_result_; 84 85 typedef typename apply_wrap1< 86 advance_forward<( 87 (N - 4) < 0 88 ? 0 89 : N - 4 90 )> 91 , chunk_result_ 92 >::type type; 93 }; 94 }; 95 96 }}} 97 98