diff options
author | Claudius "keldu" Holeksa <mail@keldu.de> | 2023-05-27 22:58:38 +0200 |
---|---|---|
committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2023-05-27 22:58:38 +0200 |
commit | 29e0e6447f56047e5c01fe0a05f3c423ec6fbe44 (patch) | |
tree | 843c9c750744022096ea82a8dd46362bcd4fbc6a /src/codec/data.h | |
parent | 9248ede2209535a2e9b03f160703bb41966a3bed (diff) |
Added default constructor to every data native type
Diffstat (limited to 'src/codec/data.h')
-rw-r--r-- | src/codec/data.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/codec/data.h b/src/codec/data.h index b20b2d5..1f34e12 100644 --- a/src/codec/data.h +++ b/src/codec/data.h @@ -78,6 +78,9 @@ class data<schema::Struct<schema::Member<T, literals>...>, encode::Native> { private: std::tuple<data<T,encode::Native>...> value_; public: + data() = default; + SAW_FORBID_COPY(data); + template<string_literal literal> data< typename parameter_pack_type< @@ -99,6 +102,9 @@ class data<schema::Tuple<T...>, encode::Native> { private: std::tuple<data<T,encode::Native>...> value_; public: + data() = default; + SAW_FORBID_COPY(data); + template<size_t i> data<typename parameter_pack_type<i>::type, encode::Native>& get(){ return std::get<i>(); @@ -114,6 +120,9 @@ class data<schema::Array<T>, encode::Native> { private: std::vector<data<T, encode::Native>> value_; public: + data() = default; + SAW_FORBID_COPY(data); + data(size_t size_){ value_.resize(size_); } @@ -130,9 +139,9 @@ class data<schema::String, encode::Native> { private: std::string value_; public: + data() = default; SAW_FORBID_COPY(data); - data() = default; data(std::string value__):value_{std::move(value__)}{} std::size_t size() const { @@ -157,6 +166,7 @@ class data<schema::Primitive<T,N>, encode::Native> { private: typename native_data_type<schema::Primitive<T,N>>::type value_; public: + data():value_{{}}{}; SAW_FORBID_COPY(data); data(typename native_data_type<schema::Primitive<T,N>>::type value__): |