diff options
Diffstat (limited to 'src')
-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__): |