entity
Entity/Component System for C++
entity::simd::sse Namespace Reference

Namespaces

 detail
 

Functions

template<typename EntityList , typename ComponentPoolTuple , typename Fn >
void for_each (EntityList const &entities, ComponentPoolTuple &&p, Fn f)
 

Function Documentation

template<typename EntityList , typename ComponentPoolTuple , typename Fn >
void entity::simd::sse::for_each ( EntityList const &  entities,
ComponentPoolTuple &&  p,
Fn  f 
)

Definition at line 64 of file for_each.hpp.

65  {
66  //DAILY_AUTO_INSTRUMENT_NODE(for_each);
67  //typedef typename boost::mpl::transform<
68  // ComponentPoolTuple,
69  // simd::detail::make_type<boost::mpl::_1, __m128>
70  //>::type m128_holder;
71 
72  //typedef typename boost::mpl::transform<
73  // m128_holder,
74  // boost::add_reference<boost::mpl::_1>
75  //>::type m128_refs;
76 
77  //m128_holder data;
78  //m128_refs data_refs(data);
79 
80  //auto i = begin(entities, std::forward<ComponentPoolTuple>(p));
81  //auto e = end(entities, std::forward<ComponentPoolTuple>(p));
82 
83  //while(i != e)
84  //{
85  // boost::fusion::for_each(
86  // boost::fusion::zip(
87  // boost::fusion::transform(*i, detail::iterator_to_ptr()),
88  // data_refs
89  // ),
90  // detail::loadu_ps()
91  // );
92 
93  // simd::detail::invoke(f, data_refs);
94 
95  // boost::fusion::for_each(
96  // boost::fusion::zip(
97  // boost::fusion::transform(*i, detail::iterator_to_ptr()),
98  // data_refs
99  // ),
100  // detail::storeu_ps()
101  // );
102 
103  // for(int j = 0; j < 4; ++j)
104  // {
105  // DAILY_AUTO_INSTRUMENT_NODE(for_each_loop);
106  // ++i;
107  // if(i == e)
108  // {
109  // break;
110  // }
111  // }
112  //}
113  }