summaryrefslogtreecommitdiff
path: root/c++/descriptor.h
blob: c09b31203e3efbcd9cad54abf6c780bf4c6dea0d (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
#pragma once

#include <forstio/codec/schema.h>

namespace kel {
namespace lbm {
namespace schema {
using namespace saw::schema;

template<typename T, uint64_t D, uint64_t Q>
struct Descriptor {};

template<typename T, uint64_t D, uint64_t Q, uint64_t SC, uint64_t DC, uint64_t QC>
using CellType = FixedArray<T,SC+D*DC+Q*QC>;

/**
 * T... is restricted to Member schemas
 */
template<typename... CellT> 
using CellData = Struct<
	CellT...
>;

/**
 * T is an array of CellData
 */
template<typename T, size_t D>
using Lattice = Array<T, D>;
}
}
}