if no, include coords to the north, south, east, and west only. if yes, additionaly include northwest, northeast, southwest, and southeast.
convenient access of nearby coordinates
import std.algorithm : equal; assert(RowCol(1,1).north == RowCol(0,1)); assert(RowCol(1,1).south == RowCol(2,1)); assert(RowCol(1,1).east == RowCol(1,2)); assert(RowCol(1,1).west == RowCol(1,0)); assert(RowCol(1,1).south(5) == RowCol(6,1)); assert(RowCol(1,1).south(2).east(5) == RowCol(3,6)); assert(RowCol(1,1).adjacent.equal([ RowCol(0,1), RowCol(1,0), RowCol(1,2), RowCol(2,1) ])); assert(RowCol(1,1).adjacent(Diagonals.yes).equal([ RowCol(0,0), RowCol(0,1), RowCol(0,2), RowCol(1,0), RowCol(1,2), RowCol(2,0), RowCol(2,1), RowCol(2,2) ]));
Return a range containing the coords adjacent to this coord.
The returned coords are ordered from north to south, west to east.