#pragma once #include #include template struct Coord : public std::array {}; template std::ostream& operator<<(std::ostream& os, const Coord& coord) { os << "("; for (uint32_t d = 0; d < D; ++d) { os << coord.at(d); if (d < D - 1) { os << ", "; } } return os << ")"; }