From e62705ba9e4a6bcaae81df0d0a1c6b46a355c13f Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Mon, 17 Mar 2025 10:09:24 +0100 Subject: wip --- c++/descriptor.h | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) (limited to 'c++/descriptor.h') diff --git a/c++/descriptor.h b/c++/descriptor.h index 0752a51..ce72180 100644 --- a/c++/descriptor.h +++ b/c++/descriptor.h @@ -14,12 +14,17 @@ struct Descriptor { }; template -struct Field { - using Alias = Sch; +struct Cell { using Descriptor = Desc; static constexpr uint64_t SC = SC_V; static constexpr uint64_t DC = DC_V; static constexpr uint64_t QC = QC_V; + static constexpr uint64_t Size = SC + Desc::D * DC + Desc::Q * QC; +}; + +template +struct Field { + using Cell = CellT; }; /** @@ -61,3 +66,39 @@ class df_info> { }; } } + +namespace saw { +template +struct meta_schema> { + using MetaSchema = schema::Void; + using Schema = kel::lbm::sch::Cell; +}; + +template +class data, Encode> final { +public: + using Schema = kel::lbm::sch::Cell; +private: + data, Encode> inner_; +public: + data() = default; + + data& operator()(const data& index){ + return inner_(index); + } +}; + +template +class data, Encode> final { +private: + data, Encode> inner_; +public: + data(const data>& inner_meta__): + inner_{inner_meta__} + {} + + data& operator()(const data, Encode>& index){ + return inner_(index); + } +}; +} -- cgit v1.2.3