|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Common typedefs and tag types for the Cellular Automata module. More...
#include <array>#include <cstddef>#include <span>Go to the source code of this file.
Classes | |
| struct | Aleph::CA::Cell_Context< Rank > |
| Per-cell context handed to rules that need to know "where" and "when" they are firing. More... | |
| struct | Aleph::CA::OpenBoundary |
| Out-of-range neighbours behave as if the lattice ended. More... | |
| struct | Aleph::CA::ToroidalBoundary |
| The lattice wraps around on every axis. More... | |
| struct | Aleph::CA::ReflectiveBoundary |
| Out-of-range coordinates mirror back into the lattice. More... | |
| struct | Aleph::CA::ConstantBoundary< T, V > |
| Constant-value boundary. More... | |
| struct | Aleph::CA::NeumannBoundary |
| Zero-gradient (Neumann) boundary. More... | |
| struct | Aleph::CA::RowMajor |
| Iterate the lattice in row-major (C) order. More... | |
| struct | Aleph::CA::ColumnMajor |
| Iterate the lattice in column-major (Fortran) order. More... | |
| struct | Aleph::CA::Tile< W, H > |
Iterate a 2D lattice in W x H tiles. More... | |
Namespaces | |
| namespace | Aleph |
| Main namespace for Aleph-w library functions. | |
| namespace | Aleph::CA |
Typedefs | |
| using | Aleph::CA::ca_index_t = std::ptrdiff_t |
| Signed coordinate component used by lattices and neighborhoods. | |
| using | Aleph::CA::ca_size_t = std::size_t |
| Unsigned size component used for extents and counts. | |
| template<std::size_t N> | |
| using | Aleph::CA::Coord_Vec = std::array< ca_index_t, N > |
| Default coordinate vector. | |
| template<std::size_t N> | |
| using | Aleph::CA::Offset_Vec = Coord_Vec< N > |
Default offset vector (aliases Coord_Vec). | |
| template<typename T > | |
| using | Aleph::CA::Neighbor_View = std::span< const T > |
| Read-only view over a contiguous range of neighbour values. | |
| using | Aleph::CA::PeriodicBoundary = ToroidalBoundary |
Alias for ToroidalBoundary using the HPC "periodic" terminology. | |
| template<typename T , T V> | |
| using | Aleph::CA::DirichletBoundary = ConstantBoundary< T, V > |
Alias for ConstantBoundary<T, V> using the "Dirichlet" name. | |
Common typedefs and tag types for the Cellular Automata module.
Lives in namespace Aleph::CA. Provides:
ca_index_t, ca_size_t).OpenBoundary, ToroidalBoundary, ReflectiveBoundary, ConstantBoundary<v>).RowMajor, ColumnMajor).No code here depends on a particular storage or rule layout, so it is the natural shared header for every later phase of the CA module.
Definition in file ca-traits.H.