|
GridFire v0.7.1_rc2
General Purpose Nuclear Network
|
Logical disjunction of two triggers with short-circuit evaluation. More...
#include <trigger_logical.h>
Public Member Functions | |
| OrTrigger (std::unique_ptr< Trigger< TriggerContextStruct > > A, std::unique_ptr< Trigger< TriggerContextStruct > > B) | |
| ~OrTrigger () 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 |
| std::unique_ptr< Trigger< TriggerContextStruct > > | m_B |
| 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 |
Logical disjunction of two triggers with short-circuit evaluation.
check(ctx) returns A.check(ctx) || B.check(ctx). why(ctx) returns early when A is true. update(ctx) calls update() on both A and B. Counters behave as in AndTrigger.
| gridfire::trigger::OrTrigger< TriggerContextStruct >::OrTrigger | ( | std::unique_ptr< Trigger< TriggerContextStruct > > | A, |
| std::unique_ptr< Trigger< TriggerContextStruct > > | B | ||
| ) |
|
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 |
|
private |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |