|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Sequential composition of one or more rules. More...
#include <tpl_ca_rule.H>
Public Member Functions | |
| constexpr | Composite_Rule (Rules... rs) |
| Construct a sequential composition of rules. | |
| template<typename State > | |
| constexpr State | operator() (const State ¤t, Neighbor_View< State > neighbours) const |
| Apply every composed rule to the same neighbour view. | |
Private Attributes | |
| std::tuple< Rules... > | rules_ |
Sequential composition of one or more rules.
Composite_Rule<R1, R2, ..., Rn> applies R1 first, then R2 on the resulting state, and so on. The neighbour view passed to every stage is the same (read at the start of the step), which is the standard semantics for layered totalistic rules.
| Rules | rule types applied from left to right. |
Definition at line 455 of file tpl_ca_rule.H.
|
inlineexplicitconstexpr |
Construct a sequential composition of rules.
| [in] | rs | rules applied from left to right. |
| Any | exception thrown while moving/copying rules. |
Definition at line 465 of file tpl_ca_rule.H.
|
inlineconstexpr |
Apply every composed rule to the same neighbour view.
| State | cell state type. |
| [in] | current | current centre-cell state. |
| [in] | neighbours | read-only neighbour values. |
| Any | exception thrown by a composed rule. |
Definition at line 476 of file tpl_ca_rule.H.
References Aleph::blossom_maximum_cardinality_matching(), r, and Aleph::CA::Composite_Rule< Rules >::rules_.
|
private |
Definition at line 457 of file tpl_ca_rule.H.
Referenced by Aleph::CA::Composite_Rule< Rules >::operator()().