summaryrefslogtreecommitdiff
path: root/modules/codec-netcdf
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2024-06-12 15:04:42 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2024-06-12 15:04:42 +0200
commite4e49a117702945066e3e279fa0f005200400cb7 (patch)
tree3e9bab0804083461c9ef0732a47abba1fb8a9fdf /modules/codec-netcdf
parent6831edddd22d2d8dbb73c88fb612c0bdd5b8ba19 (diff)
Separated Encoding and Storage approaches
Diffstat (limited to 'modules/codec-netcdf')
-rw-r--r--modules/codec-netcdf/c++/netcdf.hpp10
-rw-r--r--modules/codec-netcdf/tests/codec-netcdf.cpp8
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");