diff options
author | Claudius "keldu" Holeksa <mail@keldu.de> | 2024-06-12 15:04:42 +0200 |
---|---|---|
committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2024-06-12 15:04:42 +0200 |
commit | e4e49a117702945066e3e279fa0f005200400cb7 (patch) | |
tree | 3e9bab0804083461c9ef0732a47abba1fb8a9fdf /modules/codec-netcdf | |
parent | 6831edddd22d2d8dbb73c88fb612c0bdd5b8ba19 (diff) |
Separated Encoding and Storage approaches
Diffstat (limited to 'modules/codec-netcdf')
-rw-r--r-- | modules/codec-netcdf/c++/netcdf.hpp | 10 | ||||
-rw-r--r-- | modules/codec-netcdf/tests/codec-netcdf.cpp | 8 |
2 files changed, 9 insertions, 9 deletions
diff --git a/modules/codec-netcdf/c++/netcdf.hpp b/modules/codec-netcdf/c++/netcdf.hpp index f93eceb..e89928d 100644 --- a/modules/codec-netcdf/c++/netcdf.hpp +++ b/modules/codec-netcdf/c++/netcdf.hpp @@ -19,7 +19,7 @@ struct Netcdf {}; * Class representing the files system netcdf file */ template<typename Schema> -class data<Schema, encode::Netcdf> { +class data<Schema, encode::Netcdf, storage::Default> { private: std::vector<uint8_t> buff_; public: @@ -44,7 +44,7 @@ public: }; template<typename Schema> -class codec<Schema, encode::Netcdf>{ +class codec<Schema, encode::Netcdf,storage::Default>{ static_assert(always_false<Schema,encode::Netcdf>, "NetCDF only supports Structs as a root object"); }; @@ -53,7 +53,7 @@ class codec<Schema, encode::Netcdf>{ namespace saw { template<typename... Vals, string_literal... Keys> -class codec<schema::Struct<schema::Member<Vals,Keys>...>, encode::Netcdf> { +class codec<schema::Struct<schema::Member<Vals,Keys>...>, encode::Netcdf, storage::Default> { private: using Schema = schema::Struct<schema::Member<Vals,Keys>...>; public: @@ -69,7 +69,7 @@ public: * Encoder function */ template<typename FromEncoding> - error_or<void> encode(const data<Schema, FromEncoding>& from, data<Schema,encode::Netcdf>& to) { + error_or<void> encode(const data<Schema, FromEncoding, storage::Default>& from, data<Schema,encode::Netcdf, storage::Default>& to) { int rc{}; int ncid{}; @@ -131,7 +131,7 @@ public: * Decoder function */ template<typename ToEncoding> - error_or<void> decode(data<Schema, encode::Netcdf>& from_decode, data<Schema,ToEncoding>& to_decode) { + error_or<void> decode(data<Schema, encode::Netcdf, storage::Default>& from_decode, data<Schema,ToEncoding,storage::Default>& to_decode) { int ncid{}; int rc{}; diff --git a/modules/codec-netcdf/tests/codec-netcdf.cpp b/modules/codec-netcdf/tests/codec-netcdf.cpp index 0c9bc57..a47294f 100644 --- a/modules/codec-netcdf/tests/codec-netcdf.cpp +++ b/modules/codec-netcdf/tests/codec-netcdf.cpp @@ -46,7 +46,7 @@ std::array<uint8_t,156> tests_data_array_nc = { SAW_TEST("NetCDF Struct Primitive write"){ using namespace saw; - data<schema::TestStruct, encode::Native<storage::Default>> native; + data<schema::TestStruct, encode::Native, storage::Default> native; native.template get<"data">().set(5); native.template get<"other">().set(32.0); @@ -69,7 +69,7 @@ SAW_TEST("NetCDF Struct Primitive read"){ using namespace saw; data<schema::TestStruct, encode::Netcdf> netcdf{tests_data_primitive_nc}; - data<schema::TestStruct, encode::Native<storage::Default>> native; + data<schema::TestStruct, encode::Native, storage::Default> native; codec<schema::TestStruct, encode::Netcdf> codec; @@ -84,13 +84,13 @@ SAW_TEST("NetCDF Struct Array read"){ data<schema::TestArrayStruct, encode::Netcdf> netcdf{tests_data_array_nc}; - data<schema::TestArrayStruct, encode::Native<storage::Default>> native; + data<schema::TestArrayStruct, encode::Native, storage::Default> native; codec<schema::TestArrayStruct, encode::Netcdf> codec; auto eov = codec.decode(netcdf, native); SAW_EXPECT(eov.is_value(), "Decoding failed"); - auto& arr = native.get<"data">(); + auto& arr = native.template get<"data">(); SAW_EXPECT(arr.get_dim_size(0) == 5, "Incorrect dimension 0"); SAW_EXPECT(arr.get_dim_size(1) == 3, "Incorrect dimension 1"); |