Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::CA::LatticeLike Concept Reference

Storage + topology that carries the cell values. More...

#include <tpl_ca_concepts.H>

Concept definition

template<typename L>
concept Aleph::CA::LatticeLike = requires {
typename L::state_type;
typename L::coord_type;
} and CellState<typename L::state_type> and requires(L &lat, const L &clat, const typename L::coord_type &c, const typename L::state_type &v, std::size_t d) {
{ clat.dimension() } -> std::convertible_to<std::size_t>;
{ clat.size(d) } -> std::convertible_to<std::size_t>;
{ clat.at(c) } -> std::convertible_to<typename L::state_type>;
{ lat.set(c, v) };
}
A type usable as the value stored inside a cell.
Storage + topology that carries the cell values.
size_t blossom_maximum_cardinality_matching(const GT &g, DynDlist< typename GT::Arc * > &matching, SA sa=SA())
Alias of compute_maximum_cardinality_general_matching().
Definition Blossom.H:466
and
Check uniqueness with explicit hash + equality functors.

Detailed Description

Storage + topology that carries the cell values.

A Lattice exposes the geometric layout of the automaton and a read/write interface over its cells. The CA engine only relies on:

  • dimension() — number of axes (compile-time or runtime).
  • size(d) — extent along axis d.
  • at(coord) — read access to a cell.
  • set(coord, v) — write access to a cell.

The state_type and coord_type aliases let the rest of the module deduce the cell value type and coordinate kind without forcing a particular concrete container.

Template Parameters
Lcandidate lattice type.

Definition at line 113 of file tpl_ca_concepts.H.