18 #include <boost/fusion/include/list.hpp> 19 #include <boost/mpl/size.hpp> 20 #include <boost/mpl/begin_end.hpp> 21 #include <boost/mpl/int.hpp> 30 template<
typename I0,
typename F,
typename... P>
42 template<
typename It,
typename F,
typename... P>
49 template <
typename Sequence,
typename F,
typename... P>
52 typedef typename boost::fusion::result_of::begin<Sequence>::type begin;
53 typedef typename boost::fusion::result_of::end<Sequence>::type end;
56 boost::fusion::result_of::distance<begin, end>::type::value,
57 boost::fusion::result_of::distance<begin, end>::type::value
58 >
::call(boost::fusion::begin(seq), f, p...);
65 template<
typename I0,
typename F,
typename... P>
68 boost::mpl::int_<N - I> nr;
78 template<
typename It,
typename F,
typename... P>
85 template <
typename Sequence,
typename F,
typename... P>
88 typedef typename boost::fusion::result_of::begin<Sequence>::type begin;
89 typedef typename boost::fusion::result_of::end<Sequence>::type end;
92 boost::fusion::result_of::distance<begin, end>::type::value,
93 boost::fusion::result_of::distance<begin, end>::type::value
94 >
::call( boost::fusion::begin(seq), f, p...);
ISAAC_NO_HOST_DEVICE_WARNING ISAAC_HOST_DEVICE_INLINE void isaac_for_each_with_mpl_params(Sequence &seq, F const &f, P &... p)
ISAAC_NO_HOST_DEVICE_WARNING static ISAAC_HOST_DEVICE_INLINE void call(I0 const &i0, F const &f, P &... p)
ISAAC_NO_HOST_DEVICE_WARNING ISAAC_HOST_DEVICE_INLINE void isaac_for_each_params(Sequence &seq, F const &f, P &... p)
ISAAC_NO_HOST_DEVICE_WARNING static ISAAC_HOST_DEVICE_INLINE void call(It const &, F const &, P &... p)
#define ISAAC_HOST_DEVICE_INLINE
ISAAC_NO_HOST_DEVICE_WARNING static ISAAC_HOST_DEVICE_INLINE void call(I0 const &i0, F const &f, P &... p)
#define ISAAC_NO_HOST_DEVICE_WARNING
ISAAC_NO_HOST_DEVICE_WARNING static ISAAC_HOST_DEVICE_INLINE void call(It const &, F const &, P &... p)