|
GridFire v0.7.1_rc2
General Purpose Nuclear Network
|
Pass-through trigger that fires every Nth time its child trigger is true. More...
#include <trigger_logical.h>
Public Member Functions | |
| EveryNthTrigger (std::unique_ptr< Trigger< TriggerContextStruct > > A, size_t N) | |
| ~EveryNthTrigger () override=default | |
| bool | check (const TriggerContextStruct &ctx) const override |
| Evaluate the trigger condition against the provided context. | |
| void | update (const TriggerContextStruct &ctx) override |
| Update any internal state with the given context (e.g., counters, windows). | |
| void | step (const TriggerContextStruct &ctx) override |
| similar to update but intended to be run on every step not just those where the trigger triggered | |
| void | reset () override |
| Reset internal state and diagnostics counters. | |
| std::string | name () const override |
| Short, stable name for this trigger (suitable for logs/UI). | |
| TriggerResult | why (const TriggerContextStruct &ctx) const override |
| Explain why the last evaluation would be true/false in a structured way. | |
| std::string | describe () const override |
| Human-readable description of this trigger's logic. | |
| size_t | numTriggers () const override |
| Total number of times this trigger evaluated to true since last reset. | |
| size_t | numMisses () const override |
| Total number of times this trigger evaluated to false since last reset. | |
Public Member Functions inherited from gridfire::trigger::Trigger< TriggerContextStruct > | |
| virtual | ~Trigger ()=default |
| Virtual destructor for polymorphic use. | |
Private Attributes | |
| std::unique_ptr< Trigger< TriggerContextStruct > > | m_A |
| size_t | m_N |
| size_t | m_counter = 0 |
| size_t | m_hits = 0 |
| size_t | m_misses = 0 |
| size_t | m_updates = 0 |
| size_t | m_resets = 0 |
| size_t | m_steps = 0 |
Pass-through trigger that fires every Nth time its child trigger is true.
On update(ctx), increments an internal counter when A.check(ctx) is true. check(ctx) returns true only when A.check(ctx) is true and the internal counter is a multiple of N.
| std::invalid_argument | When constructed with N==0. |
|
explicit |
|
overridedefault |
|
overridevirtual |
Evaluate the trigger condition against the provided context.
| ctx | Context snapshot (immutable view) used to evaluate the condition. |
Implements gridfire::trigger::Trigger< TriggerContextStruct >.
|
overridevirtual |
Human-readable description of this trigger's logic.
Implements gridfire::trigger::Trigger< TriggerContextStruct >.
|
overridevirtual |
Short, stable name for this trigger (suitable for logs/UI).
Implements gridfire::trigger::Trigger< TriggerContextStruct >.
|
overridevirtual |
Total number of times this trigger evaluated to false since last reset.
Implements gridfire::trigger::Trigger< TriggerContextStruct >.
|
overridevirtual |
Total number of times this trigger evaluated to true since last reset.
Implements gridfire::trigger::Trigger< TriggerContextStruct >.
|
overridevirtual |
Reset internal state and diagnostics counters.
Implements gridfire::trigger::Trigger< TriggerContextStruct >.
|
overridevirtual |
similar to update but intended to be run on every step not just those where the trigger triggered
| ctx | Context snapshot used to update state. |
Implements gridfire::trigger::Trigger< TriggerContextStruct >.
|
overridevirtual |
Update any internal state with the given context (e.g., counters, windows).
| ctx | Context snapshot used to update state. |
Implements gridfire::trigger::Trigger< TriggerContextStruct >.
|
overridevirtual |
Explain why the last evaluation would be true/false in a structured way.
| ctx | Context snapshot for the explanation. |
Implements gridfire::trigger::Trigger< TriggerContextStruct >.
|
private |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
private |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |