summaryrefslogtreecommitdiff
path: root/modules/codec/c++/tas.hpp
blob: f130119cd4c47f469a35283ec0eac1af1dffda7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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:
};
}