summaryrefslogtreecommitdiff
path: root/modules/codec
diff options
context:
space:
mode:
Diffstat (limited to 'modules/codec')
-rw-r--r--modules/codec/c++/tas.hpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/modules/codec/c++/tas.hpp b/modules/codec/c++/tas.hpp
new file mode 100644
index 0000000..f130119
--- /dev/null
+++ b/modules/codec/c++/tas.hpp
@@ -0,0 +1,38 @@
+#pragma once
+
+#include "data.hpp"
+
+namespace saw {
+namespace schema {
+/**
+ * Tuple of Arrays of Structs => TAS
+ *
+ * So the idea is that I have an iterable data structure
+ * with filter what the members contain.
+ *
+ * So lets say I want to iterate over every body with the
+ * attribute "age", but not every object
+ * contains the member age and not every object with age
+ * are identical to each other.
+ *
+ * And if I want to avoid inheritance I need something to
+ * handle it.
+ * Which would be this object.
+ *
+ * I need enforcement over attribute equality.
+ * Only forward checks are needed.
+ *
+ */
+template<typename... T>
+struct Tas {};
+}
+
+template<typename... T, typename Encoding>
+class data<schema::Tas<T...>, Encoding> final {
+public:
+ using Schema = schema::Tas<T...>;
+private:
+ data<schema::Tuple<T...>, Encoding> inner_;
+public:
+};
+}