10 #ifndef MPL_SEQUENCE_HPP 
   11 #define MPL_SEQUENCE_HPP 
   13 #include <boost/mpl/int.hpp> 
   14 #include <boost/mpl/reverse.hpp> 
   25 template<
int c,
int end>
 
   26 struct exit_impl : boost::mpl::equal_to<boost::mpl::int_<c>,boost::mpl::int_<end>>
 
   37 template<
class H, 
int c , 
int end, 
bool exit>
 
   41    typedef typename boost::mpl::push_back<H,boost::mpl::int_<c>> v;
 
   42    typedef typename to_variadic_impl<v,c+1,end,exit_::value>::type type;
 
   47 template<
template<
typename> 
class H,
typename F,
typename L>
 
   53 template<
typename Seq>
 
   56    typedef typename boost::mpl::begin<Seq>::type first_;
 
   57    typedef typename boost::mpl::end<Seq>::type last_;
 
   78 template<
unsigned int N, 
unsigned int M>
 
   85     typedef boost::mpl::vector<boost::mpl::int_<N>> 
vi;
 
   88     typedef typename to_variadic_impl<vi,N+1,M,exit_::value >::type 
type;
 
Recursive specialization of to_variadic. 
 
boost::mpl::vector< boost::mpl::int_< N > > vi
starting vector type 
 
implementation of seq_traits 
 
exit_impl< N, M >::type exit_
end condition 
 
to_variadic_impl< vi, N+1, M, exit_::value >::type type
generate the boost::fusion::vector apply H on each term 
 
[v_transform metafunction]