diff --git a/libs/util/include/psemek/util/spatial_array.hpp b/libs/util/include/psemek/util/spatial_array.hpp index 5cd897fe..5bd94a2e 100644 --- a/libs/util/include/psemek/util/spatial_array.hpp +++ b/libs/util/include/psemek/util/spatial_array.hpp @@ -40,6 +40,10 @@ namespace psemek::util T const * begin() const; T const * end() const; + Index size(std::size_t dimension) const; + Index min(std::size_t dimension) const; + Index max(std::size_t dimension) const; + private: Index origin_[N]; array array_; @@ -217,4 +221,22 @@ namespace psemek::util return array_.end(); } + template + Index spatial_array::size(std::size_t dimension) const + { + return static_cast(array_.dim(dimension)); + } + + template + Index spatial_array::min(std::size_t dimension) const + { + return origin_[dimension]; + } + + template + Index spatial_array::max(std::size_t dimension) const + { + return origin_[dimension] + static_cast(array_.dim(dimension)); + } + }