ChimeraTK-ApplicationCore  04.01.00
ChimeraTK::FanOut< UserType > Class Template Reference

Base class for several implementations which distribute values from one feeder to multiple consumers. More...

#include <Application.h>

+ Inheritance diagram for ChimeraTK::FanOut< UserType >:
+ Collaboration diagram for ChimeraTK::FanOut< UserType >:

Public Member Functions

 FanOut (boost::shared_ptr< ChimeraTK::NDRegisterAccessor< UserType >> feedingImpl)
 
virtual void addSlave (boost::shared_ptr< ChimeraTK::NDRegisterAccessor< UserType >> slave, VariableNetworkNode &)
 Add a slave to the FanOut. More...
 
void removeSlave (const boost::shared_ptr< ChimeraTK::TransferElement > &slave) override
 
virtual void interrupt ()
 

Protected Attributes

boost::shared_ptr< ChimeraTK::NDRegisterAccessor< UserType > > _impl
 
std::list< boost::shared_ptr< ChimeraTK::NDRegisterAccessor< UserType > > > _slaves
 

Detailed Description

template<typename UserType>
class ChimeraTK::FanOut< UserType >

Base class for several implementations which distribute values from one feeder to multiple consumers.

Definition at line 38 of file Application.h.

Constructor & Destructor Documentation

◆ FanOut()

template<typename UserType >
ChimeraTK::FanOut< UserType >::FanOut ( boost::shared_ptr< ChimeraTK::NDRegisterAccessor< UserType >>  feedingImpl)
inlineexplicit

Definition at line 44 of file FanOut.h.

Member Function Documentation

◆ addSlave()

template<typename UserType >
void ChimeraTK::FanOut< UserType >::addSlave ( boost::shared_ptr< ChimeraTK::NDRegisterAccessor< UserType >>  slave,
VariableNetworkNode  
)
virtual

Add a slave to the FanOut.

Only sending end-points of a consuming node may be added.

Reimplemented in ChimeraTK::ThreadedFanOutWithReturn< UserType >, and ChimeraTK::FeedingFanOut< UserType >.

Definition at line 68 of file FanOut.h.

+ Here is the caller graph for this function:

◆ interrupt()

template<typename UserType >
void ChimeraTK::FanOut< UserType >::interrupt
virtual

Reimplemented in ChimeraTK::FeedingFanOut< UserType >.

Definition at line 114 of file FanOut.h.

+ Here is the caller graph for this function:

◆ removeSlave()

template<typename UserType >
void ChimeraTK::FanOut< UserType >::removeSlave ( const boost::shared_ptr< ChimeraTK::TransferElement > &  slave)
override

Definition at line 95 of file FanOut.h.

Member Data Documentation

◆ _impl

template<typename UserType >
boost::shared_ptr<ChimeraTK::NDRegisterAccessor<UserType> > ChimeraTK::FanOut< UserType >::_impl
protected

Definition at line 59 of file FanOut.h.

◆ _slaves

template<typename UserType >
std::list<boost::shared_ptr<ChimeraTK::NDRegisterAccessor<UserType> > > ChimeraTK::FanOut< UserType >::_slaves
protected

Definition at line 61 of file FanOut.h.


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