summaryrefslogtreecommitdiff
path: root/modules/codec
diff options
context:
space:
mode:
Diffstat (limited to 'modules/codec')
-rw-r--r--modules/codec/c++/data.hpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/modules/codec/c++/data.hpp b/modules/codec/c++/data.hpp
index 11f98e5..5dd8e12 100644
--- a/modules/codec/c++/data.hpp
+++ b/modules/codec/c++/data.hpp
@@ -334,7 +334,7 @@ public:
constexpr data<T, encode::Native>& at(const data<schema::FixedArray<schema::UInt64, sizeof...(D)>>& i){
return value_.at(this->get_flat_index(i));
}
-
+
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));
}
@@ -348,7 +348,7 @@ public:
return {std::array<uint64_t, sizeof...(D)>{D...}};
}
private:
- constexpr uint64_t get_flat_index(const std::array<uint64_t, sizeof...(D)>& i) const {
+ constexpr uint64_t get_flat_index(const data<schema::FixedArray<schema::UInt64, sizeof...(D)>>& i) const {
uint64_t s = 0;
uint64_t stride = 1;
@@ -356,8 +356,8 @@ private:
constexpr static std::array<uint64_t, sizeof...(D)> dims_{D...};
for(uint64_t iter = 0; iter < sizeof...(D); ++iter){
- assert(i.at(iter) < dims_.at(iter));
- s += i.at(iter) * stride;
+ assert(i.at({iter}).get() < dims_.at(iter));
+ s += i.at({iter}).get() * stride;
stride *= dims_.at(iter);
}