isLattice

Tests if something is a Lattice. * returns true if T is a Lattice of dimension N, Storing cells of type Ct. * A Lattice is the most basic form of a $(LATTICE). It must define the functions:
Ct get(string)(Coord), Ct get(Coord),
void set(string)(Coord, Ct), void set(Coord, Ct),
Ct[] getNeighbours(string)(Coord), Ct[] getNeighbours(Coord),
void iterate(string)(ubyte delegate(Ct cellState, Ct[] neighbours, Coord c)), void iterate(ubyte delegate(Ct cellState, Ct[] neighbours, Coord c)),
void nextGen(string)(), void nextGen(),
Where Coord is an alias for a typetuple containing int's, one int for each dimension (in a 3 dimensional Lattice Coord would be: (int, int, int)). *

template isLattice (
T
Ct
uint N
) {
enum isLattice;
enum isLattice;
}

Parameters

T

type to be tested

Ct

type of the cells the Lattice should contain

N

number of dimensions *

Return Value

true if T is a Lattice, false if not

Meta