GridFire v0.7.0_rc1
General Purpose Nuclear Network
Loading...
Searching...
No Matches
gridfire::trigger::NotTrigger< TriggerContextStruct > Class Template Referencefinal

Logical negation of a trigger. More...

#include <trigger_logical.h>

Inheritance diagram for gridfire::trigger::NotTrigger< TriggerContextStruct >:
[legend]
Collaboration diagram for gridfire::trigger::NotTrigger< TriggerContextStruct >:
[legend]

Public Member Functions

 NotTrigger (std::unique_ptr< Trigger< TriggerContextStruct > > A)
 
 ~NotTrigger () 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_hits = 0
 
size_t m_misses = 0
 
size_t m_updates = 0
 
size_t m_resets = 0
 
size_t m_steps = 0
 

Detailed Description

template<typename TriggerContextStruct>
class gridfire::trigger::NotTrigger< TriggerContextStruct >

Logical negation of a trigger.

check(ctx) returns !A.check(ctx). why(ctx) explains the inverted condition. Counter semantics match the other logical triggers.

Constructor & Destructor Documentation

◆ NotTrigger()

template<typename TriggerContextStruct>
gridfire::trigger::NotTrigger< TriggerContextStruct >::NotTrigger ( std::unique_ptr< Trigger< TriggerContextStruct > > A)
explicit

◆ ~NotTrigger()

template<typename TriggerContextStruct>
gridfire::trigger::NotTrigger< TriggerContextStruct >::~NotTrigger ( )
overridedefault

Member Function Documentation

◆ check()

template<typename TriggerContextStruct>
bool gridfire::trigger::NotTrigger< TriggerContextStruct >::check ( const TriggerContextStruct & ctx) const
overridevirtual

Evaluate the trigger condition against the provided context.

Parameters
ctxContext snapshot (immutable view) used to evaluate the condition.
Returns
true if the condition is satisfied; false otherwise.

Implements gridfire::trigger::Trigger< TriggerContextStruct >.

◆ describe()

template<typename TriggerContextStruct>
std::string gridfire::trigger::NotTrigger< TriggerContextStruct >::describe ( ) const
overridevirtual

Human-readable description of this trigger's logic.

Implements gridfire::trigger::Trigger< TriggerContextStruct >.

◆ name()

template<typename TriggerContextStruct>
std::string gridfire::trigger::NotTrigger< TriggerContextStruct >::name ( ) const
overridevirtual

Short, stable name for this trigger (suitable for logs/UI).

Implements gridfire::trigger::Trigger< TriggerContextStruct >.

◆ numMisses()

template<typename TriggerContextStruct>
size_t gridfire::trigger::NotTrigger< TriggerContextStruct >::numMisses ( ) const
overridevirtual

Total number of times this trigger evaluated to false since last reset.

Implements gridfire::trigger::Trigger< TriggerContextStruct >.

◆ numTriggers()

template<typename TriggerContextStruct>
size_t gridfire::trigger::NotTrigger< TriggerContextStruct >::numTriggers ( ) const
overridevirtual

Total number of times this trigger evaluated to true since last reset.

Implements gridfire::trigger::Trigger< TriggerContextStruct >.

◆ reset()

template<typename TriggerContextStruct>
void gridfire::trigger::NotTrigger< TriggerContextStruct >::reset ( )
overridevirtual

Reset internal state and diagnostics counters.

Implements gridfire::trigger::Trigger< TriggerContextStruct >.

◆ step()

template<typename TriggerContextStruct>
void gridfire::trigger::NotTrigger< TriggerContextStruct >::step ( const TriggerContextStruct & ctx)
overridevirtual

similar to update but intended to be run on every step not just those where the trigger triggered

Parameters
ctxContext snapshot used to update state.

Implements gridfire::trigger::Trigger< TriggerContextStruct >.

◆ update()

template<typename TriggerContextStruct>
void gridfire::trigger::NotTrigger< TriggerContextStruct >::update ( const TriggerContextStruct & ctx)
overridevirtual

Update any internal state with the given context (e.g., counters, windows).

Parameters
ctxContext snapshot used to update state.

Implements gridfire::trigger::Trigger< TriggerContextStruct >.

◆ why()

template<typename TriggerContextStruct>
TriggerResult gridfire::trigger::NotTrigger< TriggerContextStruct >::why ( const TriggerContextStruct & ctx) const
overridevirtual

Explain why the last evaluation would be true/false in a structured way.

Parameters
ctxContext snapshot for the explanation.
Returns
A TriggerResult tree with a boolean value and per-cause details.

Implements gridfire::trigger::Trigger< TriggerContextStruct >.

Member Data Documentation

◆ m_A

template<typename TriggerContextStruct>
std::unique_ptr<Trigger<TriggerContextStruct> > gridfire::trigger::NotTrigger< TriggerContextStruct >::m_A
private

◆ m_hits

template<typename TriggerContextStruct>
size_t gridfire::trigger::NotTrigger< TriggerContextStruct >::m_hits = 0
mutableprivate

◆ m_misses

template<typename TriggerContextStruct>
size_t gridfire::trigger::NotTrigger< TriggerContextStruct >::m_misses = 0
mutableprivate

◆ m_resets

template<typename TriggerContextStruct>
size_t gridfire::trigger::NotTrigger< TriggerContextStruct >::m_resets = 0
mutableprivate

◆ m_steps

template<typename TriggerContextStruct>
size_t gridfire::trigger::NotTrigger< TriggerContextStruct >::m_steps = 0
mutableprivate

◆ m_updates

template<typename TriggerContextStruct>
size_t gridfire::trigger::NotTrigger< TriggerContextStruct >::m_updates = 0
mutableprivate

The documentation for this class was generated from the following file: