68template <std::
size_t N>
78template <std::
size_t N>
104template <std::
size_t Rank>
136template <
typename T, T V>
169template <
typename T, T V>
198template <std::
size_t W, std::
size_t H>
201 static_assert(W > 0
and H > 0,
"Tile dimensions must be non-zero");
203 static constexpr std::size_t
width = W;
std::span< const T > Neighbor_View
Read-only view over a contiguous range of neighbour values.
std::ptrdiff_t ca_index_t
Signed coordinate component used by lattices and neighborhoods.
std::array< ca_index_t, N > Coord_Vec
Default coordinate vector.
std::size_t ca_size_t
Unsigned size component used for extents and counts.
Coord_Vec< N > Offset_Vec
Default offset vector (aliases Coord_Vec).
Main namespace for Aleph-w library functions.
and
Check uniqueness with explicit hash + equality functors.
std::decay_t< typename HeadC::Item_Type > T
Per-cell context handed to rules that need to know "where" and "when" they are firing.
std::size_t step
Index of the step that is currently being computed (0-based).
Coord_Vec< Rank > coord
Cell coordinate inside the current frame.
Iterate the lattice in column-major (Fortran) order.
Zero-gradient (Neumann) boundary.
Out-of-range neighbours behave as if the lattice ended.
Out-of-range coordinates mirror back into the lattice.
Iterate the lattice in row-major (C) order.
Iterate a 2D lattice in W x H tiles.
static constexpr std::size_t width
static constexpr std::size_t height
The lattice wraps around on every axis.