14 static constexpr size_t size = size_param;
15 static constexpr size_t size_1d = size * size * size;
17 std::array<value_type, size_1d> m_Data;
19 const value_type &at(
const size_t aX,
const size_t aY,
const size_t aZ)
const {
20 return m_Data[index(aX, aY, aZ)];
23 const decltype(m_Data) &data()
const {
27 value_type &at(
const size_t aX,
const size_t aY,
const size_t aZ) {
28 return m_Data[index(aX, aY, aZ)];
31 decltype(m_Data) &data() {
39 constexpr size_t index(
const size_t aX,
const size_t aY,
const size_t aZ)
const noexcept {
40 return aX + size * aY + size * size * aZ;