CyclicRange(const int extent, Dimension dim)
(extent + dim.size() - 1) / dim.size()
The constructed range is a template range.