#include <CaFactory.h>

| INPUT | Input wire index in range <0, n-1>. | |
| ROW | CA's row index in range <0, caSize-1>. | |
| COL | CA's column index in range <0, caSize-1>. | |
| PARENT | Another class implementing IGateBinding interface used as a base class. |
Definition at line 105 of file CaFactory.h.
Public Member Functions | |
| virtual IGateBinding * | clone () const |
| Each final derivation of IGateBinding has to override this method with self-cloning method to keep the simulator working. | |
| virtual void | setInput (CaState &ca, TBus in) const |
| Projection of given input to CA's state referred. | |
| virtual void | setOutput (CaState &state, TBus out) const =0 |
| Projection of given output to CA's state referred. | |
| virtual TBus | getOutput (const CaState &state) const =0 |
| Gather gate's output from CA's state. | |
Static Public Attributes | |
| static const TBus | MASK = 1 << INPUT |
| static const TBus | BOUND_INPUTS = PARENT::BOUND_INPUTS | MASK |
| static const TBus | BOUND_OUTPUTS = PARENT::BOUND_OUTPUTS |
Private Attributes | |
| CT_ASSERT <!(PARENT::BOUND_INPUTS &MASK)> | ___COMPILE_TIME_ERROR__INPUT_ALREADY_BOUND___ |
| virtual IGateBinding* clone | ( | ) | const [inline, virtual] |
Each final derivation of IGateBinding has to override this method with self-cloning method to keep the simulator working.
If you find a way how to do it generically at the top level, please send a patch to nucad@dudka.cz.
Implements IGateBinding.
Definition at line 117 of file CaFactory.h.
Projection of given input to CA's state referred.
| state | CA state being changed. | |
| in | Input ought to be passed to CA state. |
Implements IGateBinding.
Definition at line 120 of file CaFactory.h.
Projection of given output to CA's state referred.
| state | CA state being changed. | |
| out | Output ought to be passed to CA state. |
Implemented in BindOutput.
Referenced by CaEvaluator::simulate().

Gather gate's output from CA's state.
| state | CA's state to read output from. |
Implemented in BindOutput.
Referenced by CaEvaluator::cntSteps(), and CaEvaluator::eval().

Definition at line 112 of file CaFactory.h.
const TBus BOUND_INPUTS = PARENT::BOUND_INPUTS | MASK [static] |
Definition at line 113 of file CaFactory.h.
const TBus BOUND_OUTPUTS = PARENT::BOUND_OUTPUTS [static] |
Definition at line 114 of file CaFactory.h.
CT_ASSERT<!(PARENT::BOUND_INPUTS & MASK)> ___COMPILE_TIME_ERROR__INPUT_ALREADY_BOUND___ [private] |
Definition at line 128 of file CaFactory.h.
1.5.4