From 7a13e856c27197dbdb87affa7e96cbadaec4df92 Mon Sep 17 00:00:00 2001 From: Claudius 'keldu' Holeksa Date: Mon, 18 Nov 2024 12:26:57 +0100 Subject: Made FixedArray data constexpr for test --- modules/codec/c++/data.hpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/codec/c++/data.hpp b/modules/codec/c++/data.hpp index 26f3afd..f4b53ed 100644 --- a/modules/codec/c++/data.hpp +++ b/modules/codec/c++/data.hpp @@ -302,7 +302,7 @@ public: }; template -class data, encode::Native> { +class data, encode::Native> final { public: using Schema = schema::FixedArray; using MetaSchema = typename meta_schema::MetaSchema; @@ -313,46 +313,46 @@ private: ArrayT value_; public: - data() = default; - data(data){} - data(const std::array, ct_multiply::value>& value__): + constexpr data() = default; + constexpr data(data){} + constexpr data(const std::array, ct_multiply::value>& value__): value_{value__} {} - data& at(const std::array& ind){ + constexpr data& at(const std::array& ind){ return value_.at(this->get_flat_index(ind)); } - const data& at(const std::array& ind) const { + constexpr const data& at(const std::array& ind) const { return value_.at(this->get_flat_index(ind)); } - data& at(data i) { + constexpr data& at(data i) { return value_.at(this->get_flat_index({i.get()})); } - const data& at(data i) const { + constexpr const data& at(data i) const { return value_.at(this->get_flat_index({i.get()})); } - data& at(const data>& i){ + constexpr data& at(const data>& i){ return value_.at(this->get_flat_index(i)); } - const data& at(const data>& i)const{ + constexpr const data& at(const data>& i)const{ return value_.at(this->get_flat_index(i)); } template - uint64_t get_dim_size() const { + constexpr uint64_t get_dim_size() const { return parameter_pack_value::value; } - data> get_dims() const { + constexpr data> get_dims() const { return {std::array{D...}}; } private: - uint64_t get_flat_index(const std::array& i) const { + constexpr uint64_t get_flat_index(const std::array& i) const { uint64_t s = 0; uint64_t stride = 1; -- cgit v1.2.3