From 4f3f21f72602ab4ce49caa6e7264d369afc98977 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Mon, 18 May 2026 18:55:12 +0200 Subject: Particle --- lib/core/c++/iterator.hpp | 28 ++++++++++++++++++++++++++++ lib/core/c++/particle/particle.hpp | 7 +++++++ 2 files changed, 35 insertions(+) (limited to 'lib/core/c++') diff --git a/lib/core/c++/iterator.hpp b/lib/core/c++/iterator.hpp index 866543a..696c521 100644 --- a/lib/core/c++/iterator.hpp +++ b/lib/core/c++/iterator.hpp @@ -50,6 +50,34 @@ public: } }; +template +struct ct_tuple_iterator final { +private: + template + static constexpr saw::error_or apply_i( + Func& func, + saw::data>& tup + ){ + if constexpr ( i < sizeof...(Tup) ){ + auto eov = func(tup.template get()); + if(eov.is_error()){ + return eov; + } + return apply_i(func,tup); + } + + return saw::make_void(); + } +public: + template + static constexpr saw::error_or apply( + Func&& func, + saw::data>& tup + ){ + return apply_i(func,tup); + } +}; + /* Ambiguous template void iterate_over(Func&& func, const saw::data>& start, const saw::data>& end, const saw::data>& dist = {{{0u,0u,0u}}}){ diff --git a/lib/core/c++/particle/particle.hpp b/lib/core/c++/particle/particle.hpp index 7af43dc..01429b2 100644 --- a/lib/core/c++/particle/particle.hpp +++ b/lib/core/c++/particle/particle.hpp @@ -238,5 +238,12 @@ constexpr auto broadphase_collision_check = []( ) -> bool{ return broadphase_collision_distance_squared(left,coll_l,right,coll_r).first; }; + + + +namespace impl { + +} + } } -- cgit v1.2.3