ChimeraTK-ApplicationCore 04.06.00
Loading...
Searching...
No Matches
ChimeraTK::FanOut< UserType > Class Template Reference

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

#include <FanOut.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.
 
void removeSlave (const boost::shared_ptr< ChimeraTK::TransferElement > &slave) override
 
virtual void interrupt ()
 
- Public Member Functions inherited from ChimeraTK::FanOutBase
virtual ~FanOutBase ()=default
 
void disable ()
 Disable the FanOut so it does nothing.
 

Protected Attributes

boost::shared_ptr< ChimeraTK::NDRegisterAccessor< UserType > > _impl
 
std::list< boost::shared_ptr< ChimeraTK::NDRegisterAccessor< UserType > > > _slaves
 
- Protected Attributes inherited from ChimeraTK::FanOutBase
bool _disabled {false}
 

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 42 of file FanOut.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::FeedingFanOut< UserType >, and ChimeraTK::ThreadedFanOutWithReturn< UserType >.

Definition at line 68 of file FanOut.h.

◆ interrupt()

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

◆ removeSlave()

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

Implements ChimeraTK::FanOutBase.

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: