summaryrefslogtreecommitdiff
path: root/src/codec/data.h
diff options
context:
space:
mode:
authorClaudius Holeksa <mail@keldu.de>2023-06-26 15:25:29 +0200
committerClaudius Holeksa <mail@keldu.de>2023-06-26 15:25:29 +0200
commit44b97c0c13c3cb05a5fed70326285b45bc7b37a6 (patch)
treebf26986e1b8f7415e4e3b72301cdde521efa5b6a /src/codec/data.h
parent9b5fdb05609c24a03d4e0e4386e9eadbfe6c5405 (diff)
c++,codec: Added kelsimple array and struct decoding / encoding
Diffstat (limited to 'src/codec/data.h')
-rw-r--r--src/codec/data.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/codec/data.h b/src/codec/data.h
index 5cb1267..a43fdd8 100644
--- a/src/codec/data.h
+++ b/src/codec/data.h
@@ -195,16 +195,18 @@ class data<schema::Array<T,Dim>, encode::Native> {
SAW_DEFAULT_COPY(data);
SAW_DEFAULT_MOVE(data);
+ data(const std::array<std::size_t, Dim>& i):
+ dims_{i},
+ value_{}
+ {
+ value_.resize(get_full_size());
+ }
+
template<std::integral... Dims>
data(Dims... size_):
- dims_{size_...},
- value_{}
+ data{{size_...}}
{
- for(auto& iter : dims_){
- assert(iter > 0);
- }
static_assert(sizeof...(Dims)==Dim, "Argument size must be equal to the Dimension");
- value_.resize(get_full_size());
}
data<T, encode::Native>& at(const std::array<std::size_t, Dim>& ind){