diff options
| author | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-05-04 13:12:56 +0200 |
|---|---|---|
| committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-05-04 13:12:56 +0200 |
| commit | ecc512ba388a04c84cef639cead2273934b485db (patch) | |
| tree | cb5765bcf0000f2fae607ab1c80c3b9e81748e69 /modules/codec/c++/tas.hpp | |
| parent | 6ef9f4b0be66d1be067bd261455d525b37d15976 (diff) | |
| download | forstio-forstio-ecc512ba388a04c84cef639cead2273934b485db.tar.gz | |
Writing down an idea
Diffstat (limited to 'modules/codec/c++/tas.hpp')
| -rw-r--r-- | modules/codec/c++/tas.hpp | 38 |
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: +}; +} |
