diff options
author | Claudius "keldu" Holeksa <mail@keldu.de> | 2023-05-27 19:51:40 +0200 |
---|---|---|
committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2023-05-27 19:51:40 +0200 |
commit | 55043d5a4eb60c023739544ae0454f093c89d372 (patch) | |
tree | 4c1a6f1ac6cfc60fd759743e897c7c24fd176312 /src/codec | |
parent | c6c412af6838e48d333212503fff2e122dd1b677 (diff) |
c++: Added struct and support for pack interpretation
Diffstat (limited to 'src/codec')
-rw-r--r-- | src/codec/data.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/codec/data.h b/src/codec/data.h index 96345af..442fa26 100644 --- a/src/codec/data.h +++ b/src/codec/data.h @@ -1,6 +1,10 @@ #pragma once #include <forstio/core/common.h> +#include <forstio/core/templates.h> + +#include <vector> + #include "schema.h" namespace saw { @@ -69,14 +73,14 @@ private: static_assert(always_false<T>, "Type not supported"); }; -template<typename... T, string_literal... literal> -class data<schema::Struct<Member<T, literal>...>, encode::Native> { +template<typename... T, string_literal... literals> +class data<schema::Struct<schema::Member<T, literals>...>, encode::Native> { private: std::tuple<data<T,encode::Native>...> value_; public: template<string_literal literal> data<T, encode::Native>& get(){ - + return std::get<parameter_packe_index<literal, literals...>::value>(value_); } constexpr size_t size() const { |