diff options
| author | Claudius "keldu" Holeksa <mail@keldu.de> | 2025-10-23 17:05:19 +0200 |
|---|---|---|
| committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2025-10-23 17:05:19 +0200 |
| commit | 51d0394f250b2d7ce521a3c7136f018c428ddc92 (patch) | |
| tree | 19f2290f7a44cd71223b340c5d8ecc1e3734fc3b | |
| parent | fae4a052c47c14e9dd6704200d4c0f90dda0384c (diff) | |
| download | libs-lbm-51d0394f250b2d7ce521a3c7136f018c428ddc92.tar.gz | |
Fixed Schema request
| -rw-r--r-- | lib/c++/descriptor.hpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/c++/descriptor.hpp b/lib/c++/descriptor.hpp index 2ba2c97..e81738e 100644 --- a/lib/c++/descriptor.hpp +++ b/lib/c++/descriptor.hpp @@ -37,15 +37,11 @@ struct CellField< > > { using Descriptor = Desc; - using Schema = CellField<Desc,Struct<Member<CellFieldTypes,CellFieldNames>...>>; - using MetaSchema = FixedArray<UInt64,Desc::D>; }; template<typename Desc, typename... CellFieldMembers> struct CellFieldStruct { - using Schema = CellFieldStruct<Desc, Struct<CellFieldMembers...>>; - using InnerSchema = Struct<CellFieldMembers...>; - using MetaSchema = typename InnerSchema::MetaSchema; + using Descriptor = Desc; // using MetaSchema = FixedArray<UInt64, Desc::D>; }; @@ -243,16 +239,22 @@ public: namespace saw { template<typename T, typename Desc, uint64_t S, uint64_t D, uint64_t Q> struct meta_schema<kel::lbm::sch::Cell<T,Desc,S,D,Q>> { - using MetaSchema = schema::Void; + using MetaSchema = schema::Void; using Schema = kel::lbm::sch::Cell<T,Desc,S,D,Q>; }; template<typename Desc, typename CellT> struct meta_schema<kel::lbm::sch::CellField<Desc, CellT>> { - using MetaSchema = schema::FixedArray<schema::UInt64,Desc::D>; + using MetaSchema = schema::FixedArray<schema::UInt64,Desc::D>; using Schema = kel::lbm::sch::CellField<Desc, CellT>; }; +template<typename Desc, typename... CellFieldsT> +struct meta_schema<kel::lbm::sch::CellFieldStruct<Desc,schema::Struct<CellFieldsT...>>> { + using MetaSchema = schema::FixedArray<schema::UInt64,Desc::D>; + using Schema = kel::lbm::sch::CellFieldStruct<Desc,schema::Struct<CellFieldsT...>>; +}; + template<typename Sch, typename Desc, uint64_t S, uint64_t D, uint64_t Q, typename Encode> class data<kel::lbm::sch::Cell<Sch, Desc, S, D, Q>, Encode> final { public: |
