summaryrefslogtreecommitdiff
path: root/modules/core/c++/abstract
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2026-07-05 15:59:23 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2026-07-05 15:59:23 +0200
commitc0549d71b2109f10c1238db8b22362e7826ba61b (patch)
tree16cd5264fcc3afe912e1b1b67738c8940d6d1177 /modules/core/c++/abstract
parent9a3147bc79caf3c0fb1a9cdee29d156b5ff092c7 (diff)
downloadlibs-lbm-c0549d71b2109f10c1238db8b22362e7826ba61b.tar.gz
Just rename from lib to modules
Diffstat (limited to 'modules/core/c++/abstract')
-rw-r--r--modules/core/c++/abstract/data.hpp52
-rw-r--r--modules/core/c++/abstract/templates.hpp8
2 files changed, 60 insertions, 0 deletions
diff --git a/modules/core/c++/abstract/data.hpp b/modules/core/c++/abstract/data.hpp
new file mode 100644
index 0000000..ed23268
--- /dev/null
+++ b/modules/core/c++/abstract/data.hpp
@@ -0,0 +1,52 @@
+#pragma once
+
+#include "templates.hpp"
+
+namespace kel {
+namespace sch {
+struct Void {};
+
+struct UnsignedInteger {};
+struct SignedInteger {};
+struct FloatingPoint {};
+
+template<typename StorageT, typename InterfaceT>
+struct MixedPrecision {
+ using Meta = Void;
+ using StorageType = StorageT;
+ using InterfaceType = InterfaceT;
+};
+
+template<typename PrimType, uint64_t N>
+struct Primitive {
+ using Meta = Void;
+ using Type = PrimType;
+ static constexpr uint64_t Bytes = N;
+};
+
+template<typename T, uint64_t... Dims>
+struct FixedArray {
+ using Meta = Void;
+ using Inner = T;
+ static constexpr std::array<uint64_t,sizeof...(Dims)> Dimensions{Dims...};
+};
+
+template<typename T, uint64_t Dims>
+struct Array {
+ using Meta = FixedArray<UInt64,Dims>;
+ using Inner = T;
+ static constexpr std::array<uint64_t,sizeof...(Dims)> Dimensions{Dims};
+};
+
+template<typename... T>
+struct Tuple {
+};
+
+}
+
+template<typename Sch>
+struct schema {
+ using Type = Sch;
+};
+
+}
diff --git a/modules/core/c++/abstract/templates.hpp b/modules/core/c++/abstract/templates.hpp
new file mode 100644
index 0000000..d9d9faa
--- /dev/null
+++ b/modules/core/c++/abstract/templates.hpp
@@ -0,0 +1,8 @@
+#pragma once
+
+namespace kel {
+namespace lbm {
+template<typename... T>
+constexpr bool always_false = false;
+}
+}