summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/codec/data.h12
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__):