From 33eac9dc02024b711124ebf45bfcc9a68d8b1470 Mon Sep 17 00:00:00 2001 From: Claudius Holeksa Date: Thu, 4 May 2023 00:06:28 +0200 Subject: codec: Working on ProtoForst --- src/codec/data.h | 7 ++++++ src/codec/proto_forst.h | 61 +++++++++++++++++++++++++++++++++++++++++++++++++ src/codec/proto_kel.h | 41 --------------------------------- 3 files changed, 68 insertions(+), 41 deletions(-) create mode 100644 src/codec/proto_forst.h delete mode 100644 src/codec/proto_kel.h diff --git a/src/codec/data.h b/src/codec/data.h index 1682ae7..310942c 100644 --- a/src/codec/data.h +++ b/src/codec/data.h @@ -58,6 +58,11 @@ struct native_data_type> { using type = float; }; +template <> +struct native_data_type> { + using type = double; +}; + template class data { private: @@ -86,4 +91,6 @@ template class data, encode::Native> { private: }; + + } diff --git a/src/codec/proto_forst.h b/src/codec/proto_forst.h new file mode 100644 index 0000000..1f390fe --- /dev/null +++ b/src/codec/proto_forst.h @@ -0,0 +1,61 @@ +#pragma once + +#include "data.h" + +#include + +namespace saw { +namespace encode { +struct ProtoForst {}; +} + +template +class data { +private: + own buffer_; +public: + data(own&& buffer__):buffer_{std::move(buffer__)}{} + + buffer& get_buffer(){ + return *buffer_; + } + + const buffer& get_buffer() const { + return *buffer_; + } +}; +namespace impl { +template +class codec, encode::ProtoForst> { + + + static error encode(typename const data, encode::Native>& native){ + + return no_error(); + } + + static uint64_t size(const data, encode::Native>& d) { + return static_cast(N); + } +}; +} +template +class codec { +public: + using meta_type = uint64_t; +private: +public: + error_or> decode(const data& encoded){ + + + return make_error(); + } + + error_or> encode(const data& native){ + uint64_t length = 0; + + return make_error(); + } +}; +} +} diff --git a/src/codec/proto_kel.h b/src/codec/proto_kel.h deleted file mode 100644 index 3b4ebac..0000000 --- a/src/codec/proto_kel.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -#include "data.h" - -#include - -namespace saw { -namespace encode { -struct ProtoKel {}; -} - -template -class data { -private: - own buffer_; -public: - data(own&& buffer__):buffer_{std::move(buffer__)}{} - - buffer& get_buffer(){ - return *buffer_; - } - - const buffer& get_buffer() const { - return *buffer_; - } -}; - -template -class codec { -private: -public: - error_or> decode(const data& encoded){ - return make_error(); - } - - error_or> encode(const data& native){ - return make_error(); - } -}; -} -} -- cgit v1.2.3