DUECA/DUSIME
Public Member Functions | Friends | List of all members
dueca::ConditionOr Class Reference

Or combination of different TriggerPullers. More...

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

Public Member Functions

 ConditionOr ()
 Constructor. More...
 
 ~ConditionOr ()
 Destructor. More...
 
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. More...
 
void addTerm (const boost::intrusive_ptr< TargetAndPuller > &p)
 Add another puller to this combination. More...
 
- 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. More...
 
ConditionOrPtr operator|| (ConditionOrPtr c1, TriggerPuller &c2)
 Add a TriggerPuller to an existing ConditionOr. More...
 
ConditionOrPtr operator|| (TriggerPuller &c1, ConditionOrPtr c2)
 Add a TriggerPuller to an existing ConditionOr. More...
 

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. More...
 
- Protected Member Functions inherited from dueca::TargetAndPuller
 TargetAndPuller (const std::string &name=std::string())
 Constructor. More...
 
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. More...
 
virtual ~TriggerPuller ()
 Destructor. More...
 
virtual void addTarget (const boost::intrusive_ptr< TriggerTarget > &target, unsigned id)
 Add a target to this puller, only called by TriggerTarget's setTrigger. More...
 
virtual void removeTarget (const TriggerTarget *target)
 Remove a target from the puller, only called by destructor. More...
 
- 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. More...
 
std::bitset< MAX_MANAGERS > activitylevels
 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);

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 Function Documentation

◆ operator|| [1/3]

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.

◆ operator|| [2/3]

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

Add a TriggerPuller to an existing ConditionOr.

◆ operator|| [3/3]

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

Add a TriggerPuller to an existing ConditionOr.


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