summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorClaudius 'keldu' Holeksa <mail@keldu.de>2024-11-18 12:26:57 +0100
committerClaudius 'keldu' Holeksa <mail@keldu.de>2024-11-18 12:26:57 +0100
commit7a13e856c27197dbdb87affa7e96cbadaec4df92 (patch)
treeac6f49560462d412e9770133676aee1854b87634 /modules
parent3b2d769baeaea24b2b0044dfc08a2ed55bb860cd (diff)
Made FixedArray data constexpr for test
Diffstat (limited to 'modules')
-rw-r--r--modules/codec/c++/data.hpp26
1 files 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<typename T, uint64_t... D>
-class data<schema::FixedArray<T,D...>, encode::Native> {
+class data<schema::FixedArray<T,D...>, encode::Native> final {
public:
using Schema = schema::FixedArray<T,D...>;
using MetaSchema = typename meta_schema<Schema>::MetaSchema;
@@ -313,46 +313,46 @@ private:
ArrayT value_;
public:
- data() = default;
- data(data<MetaSchema, encode::Native>){}
- data(const std::array<data<T, encode::Native>, ct_multiply<uint64_t,D...>::value>& value__):
+ constexpr data() = default;
+ constexpr data(data<MetaSchema, encode::Native>){}
+ constexpr data(const std::array<data<T, encode::Native>, ct_multiply<uint64_t,D...>::value>& value__):
value_{value__}
{}
- data<T, encode::Native>& at(const std::array<uint64_t, sizeof...(D)>& ind){
+ constexpr data<T, encode::Native>& at(const std::array<uint64_t, sizeof...(D)>& ind){
return value_.at(this->get_flat_index(ind));
}
- const data<T, encode::Native>& at(const std::array<uint64_t, sizeof...(D)>& ind) const {
+ constexpr const data<T, encode::Native>& at(const std::array<uint64_t, sizeof...(D)>& ind) const {
return value_.at(this->get_flat_index(ind));
}
- data<T, encode::Native>& at(data<schema::UInt64, encode::Native> i) {
+ constexpr data<T, encode::Native>& at(data<schema::UInt64, encode::Native> i) {
return value_.at(this->get_flat_index({i.get()}));
}
- const data<T, encode::Native>& at(data<schema::UInt64, encode::Native> i) const {
+ constexpr const data<T, encode::Native>& at(data<schema::UInt64, encode::Native> i) const {
return value_.at(this->get_flat_index({i.get()}));
}
- data<T, encode::Native>& at(const data<schema::FixedArray<schema::UInt64, sizeof...(D)>>& i){
+ constexpr data<T, encode::Native>& at(const data<schema::FixedArray<schema::UInt64, sizeof...(D)>>& i){
return value_.at(this->get_flat_index(i));
}
- const data<T, encode::Native>& at(const data<schema::FixedArray<schema::UInt64, sizeof...(D)>>& i)const{
+ constexpr const data<T, encode::Native>& at(const data<schema::FixedArray<schema::UInt64, sizeof...(D)>>& i)const{
return value_.at(this->get_flat_index(i));
}
template<uint64_t i>
- uint64_t get_dim_size() const {
+ constexpr uint64_t get_dim_size() const {
return parameter_pack_value<i, uint64_t, D...>::value;
}
- data<schema::FixedArray<schema::UInt64, sizeof...(D)>> get_dims() const {
+ constexpr data<schema::FixedArray<schema::UInt64, sizeof...(D)>> get_dims() const {
return {std::array<uint64_t, sizeof...(D)>{D...}};
}
private:
- uint64_t get_flat_index(const std::array<uint64_t, sizeof...(D)>& i) const {
+ constexpr uint64_t get_flat_index(const std::array<uint64_t, sizeof...(D)>& i) const {
uint64_t s = 0;
uint64_t stride = 1;