summaryrefslogtreecommitdiff
path: root/src/codec/data.h
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2023-05-27 22:58:38 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2023-05-27 22:58:38 +0200
commit29e0e6447f56047e5c01fe0a05f3c423ec6fbe44 (patch)
tree843c9c750744022096ea82a8dd46362bcd4fbc6a /src/codec/data.h
parent9248ede2209535a2e9b03f160703bb41966a3bed (diff)
Added default constructor to every data native type
Diffstat (limited to 'src/codec/data.h')
-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__):