DUECA/DUSIME
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
dueca::ConditionOr Class Reference

"Or" combination of different TriggerPullers. More...

#include <Trigger.hxx>

Inheritance diagram for dueca::ConditionOr:
Inheritance graph
[legend]
Collaboration diagram for dueca::ConditionOr:
Collaboration graph
[legend]

Public Member Functions

 ConditionOr ()
 Constructor.
 
 ~ConditionOr ()
 Destructor.
 
const std::string & getTargetName () const
 Target name is same as trigger name.
 
- Public Member Functions inherited from dueca::TargetAndPuller
void addTerm (TriggerPuller &p)
 Add another puller to this (and, or) combination of triggers.
 
void addTerm (const boost::intrusive_ptr< TargetAndPuller > &p)
 Add another puller to this combination.
 
bool removeTerm (TriggerPuller &p)
 Remove a term from this TriggerAnd or TriggerOr object.
 
- Public Member Functions inherited from dueca::TriggerPuller
const std::string & getTriggerName () const
 Find a name.
 

Friends

ConditionOrPtr operator|| (TriggerPuller &c1, TriggerPuller &c2)
 Combine two TriggerPuller objects into an "OR" condition.
 
ConditionOrPtr operator|| (ConditionOrPtr c1, TriggerPuller &c2)
 Add a TriggerPuller to an existing ConditionOr.
 
ConditionOrPtr operator|| (TriggerPuller &c1, ConditionOrPtr c2)
 Add a TriggerPuller to an existing ConditionOr.
 

Additional Inherited Members

- Protected Types inherited from dueca::TriggerPuller
typedef list< TargetDatatargetlist_type
 Combination of a target, someone to pull if requested, and the index that target needs to identify this puller.
 
- Protected Member Functions inherited from dueca::TargetAndPuller
 TargetAndPuller (const std::string &name=std::string())
 Constructor.
 
virtual ~TargetAndPuller ()
 Destructor.
 
- Protected Member Functions inherited from dueca::TriggerPuller
void pull (const DataTimeSpec &ts)
 activate and notify the targets
 
 TriggerPuller (const std::string &name=std::string())
 Constructor.
 
virtual ~TriggerPuller ()
 Destructor.
 
virtual void addTarget (const boost::intrusive_ptr< TriggerTarget > &target, unsigned id)
 Add a target to this puller, only called by TriggerTarget's setTrigger.
 
virtual void removeTarget (const TriggerTarget *target)
 Remove a target from the puller, only called by destructor.
 
- Protected Attributes inherited from dueca::TargetAndPuller
unsigned name_psize
 Number of pullers when name calculated.
 
- Protected Attributes inherited from dueca::TriggerPuller
targetlist_type targets
 List of targets and indices.
 
std::bitset< MAX_MANAGERSactivitylevels
 Index of activitymanager levels.
 
std::string name
 Name, for debugging purposes.
 

Detailed Description

"Or" combination of different TriggerPullers.

Note that you need not make an OR combination directly, it is automatically done by the operator || function for TriggerPullers.

Example:

my_activity.setTrigger(tokena || tokenb);
This is a "light weight object" that enables you to read the latest set of data on a StreamChannelEnd...
Definition StreamReaderLatest.hxx:43

An or combination of triggering basically optimistically advances time. It always produces spans, and when any of the contributing triggers triggers beyond the previous, the following span is produced.

Constructor & Destructor Documentation

◆ ConditionOr()

dueca::ConditionOr::ConditionOr ( )

Constructor.

Called by the friend operator.

◆ ~ConditionOr()

dueca::ConditionOr::~ConditionOr ( )

Destructor.


Friends And Related Symbol Documentation

◆ operator||

ConditionOrPtr operator|| ( TriggerPuller & c1,
TriggerPuller & c2 )
friend

Combine two TriggerPuller objects into an "OR" condition.

This pulls if one of either TriggerPullers has pulled. If the second pulls afterward, pulls again. Useful for reacting to a number of event channels.


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