From 6aa3606c200b0f5aafb5031ad459c316c25bf1b8 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Fri, 11 Apr 2025 13:36:15 +0200 Subject: Revert to AoS for now due to code intensity required --- c++/descriptor.hpp | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'c++/descriptor.hpp') diff --git a/c++/descriptor.hpp b/c++/descriptor.hpp index 376e733..1228e10 100644 --- a/c++/descriptor.hpp +++ b/c++/descriptor.hpp @@ -23,13 +23,13 @@ struct Cell { }; template -struct CellFields; +struct CellField; template -struct CellFields< +struct CellField< Desc, Struct< - Member, CellFieldNames>... + Member... > >; @@ -163,9 +163,9 @@ struct meta_schema> { }; template -struct meta_schema> { +struct meta_schema> { using MetaSchema = schema::FixedArray; - using Schema = kel::lbm::sch::CellFields; + using Schema = kel::lbm::sch::CellField; }; template @@ -187,13 +187,12 @@ public: }; template -class data, Encode> final { +class data, Encode> final { public: - using Schema = kel::lbm::sch::CellFields; + using Schema = kel::lbm::sch::CellField; using MetaSchema = typename meta_schema::MetaSchema; private: - data inner_; - data inner_meta_; + data, Encode> inner_; public: data() = default; data(const data& inner_meta__): @@ -201,6 +200,10 @@ public: inner_meta_{inner_meta__} {} + const data& meta() const { + return inner_.dims(); + } + template data get_dim_size() const { static_assert(i < Desc::D, "Not enough dimensions"); -- cgit v1.2.3