From 5688c721c610e2a8931d6ec6f84dee2d4d65c763 Mon Sep 17 00:00:00 2001 From: Claudius Holeksa Date: Tue, 27 Jun 2023 12:41:56 +0200 Subject: c++,codec,core: Added Union to KelSimple and fixed the native data type. Made some errors more clear as well --- src/codec/data.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/codec/data.h') diff --git a/src/codec/data.h b/src/codec/data.h index 9eb2bfc..397aed1 100644 --- a/src/codec/data.h +++ b/src/codec/data.h @@ -90,13 +90,23 @@ public: SAW_DEFAULT_COPY(data); SAW_DEFAULT_MOVE(data); + template + void set(data::value, T...>::type, encode::Native> val){ + value_ = std::move(val); + } + template bool holds_alternative() const { - return std::holds_alternative::value>(value_); + return (parameter_key_pack_index::value == value_.index()); } template - data::value>::type, encode::Native>& get(){ + data::value, T...>::type, encode::Native>& get(){ + return std::get::value>(value_); + } + + template + const data::value, T...>::type, encode::Native>& get() const{ return std::get::value>(value_); } }; -- cgit v1.2.3