diff options
Diffstat (limited to 'modules/codec')
-rw-r--r-- | modules/codec/c++/data.hpp | 8 |
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); } |