DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
Data class for StreamManipulator
.
More...
Public Member Functions | |
StreamManipulatorData () | |
virtual | ~StreamManipulatorData ()=default |
auto & | GetInputDataStreams () const noexcept |
Getter for InputDataStreams. More... | |
auto & | GetInputDataStreams () noexcept |
Getter for InputDataStreams. More... | |
auto & | GetOutputDataStreams () const noexcept |
Getter for OutputDataStreams. More... | |
auto & | GetOutputDataStreams () noexcept |
Getter for OutputDataStreams. More... | |
Public Member Functions inherited from DynExp::ModuleDataBase | |
ModuleDataBase () | |
virtual | ~ModuleDataBase () |
auto | GetException () const noexcept |
Getter for ModuleException. More... | |
void | EnqueueEvent (EventPtrType &&Event) |
Enqueues Event at the module event queue's back. Takes ownership of the event. Notifies the module owning the respective ModuleDataBase's instance that a new event has been enqueued. More... | |
EventPtrType | PopEvent () |
Removes one event from the event queue's front and returns the event. Ownership of the event is transferred to the caller of this method. More... | |
const auto & | GetEventFront () const noexcept |
Returns a pointer to the event in the front of the module's event queue without transferring ownership and without removing the event from the queue. More... | |
auto & | GetEventFront () noexcept |
Returns a pointer to the event in the front of the module's event queue without transferring ownership and without removing the event from the queue. More... | |
size_t | GetNumEnqueuedEvents () const noexcept |
Getter for the module event queue's length. More... | |
Public Member Functions inherited from Util::INonCopyable | |
INonCopyable (const INonCopyable &)=delete | |
INonCopyable & | operator= (const INonCopyable &)=delete |
Private Member Functions | |
void | ResetImpl (dispatch_tag< ModuleDataBase >) override final |
Refer to DynExp::ModuleDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl() of every derived class gets called - starting from ModuleDataBase , descending the inheritance hierarchy. Override in order to reset derived classes. More... | |
virtual void | ResetImpl (dispatch_tag< StreamManipulatorData >) |
Refer to DynExp::ModuleDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl() of every derived class gets called - starting from ModuleDataBase , descending the inheritance hierarchy. Override in order to reset derived classes. More... | |
void | Init () |
Called by ResetImpl(dispatch_tag<DynExp::ModuleDataBase>) overridden by this class to initialize the data class instance. Currently, does not do anything. More... | |
Private Attributes | |
DynExp::LinkedObjectWrapperContainerList< DynExpInstr::DataStreamInstrument > | InputDataStreams |
Linked input data stream instruments whose samples are going to be used for calculations. More... | |
DynExp::LinkedObjectWrapperContainerList< DynExpInstr::DataStreamInstrument > | OutputDataStreams |
Linked output data stream instruments to write the computed new samples to. More... | |
Additional Inherited Members | |
Public Types inherited from DynExp::ModuleDataBase | |
using | EventPtrType = std::unique_ptr< EventBase > |
Pointer owning an event. More... | |
using | EventQueueType = std::queue< EventPtrType > |
A module's event queue is a FIFO queue owning the enqueued events. More... | |
Public Attributes inherited from DynExp::ModuleDataBase | |
ModuleBaseOnlyType | ModuleBaseOnly |
Allow exclusive access to some of ModuleDataBase's private methods to ModuleBase . More... | |
ModuleThreadOnlyType | ModuleThreadOnly |
Allow exclusive access to some of ModuleDataBase's private methods to the module thread ModuleThreadMain() . More... | |
Protected Member Functions inherited from Util::ISynchronizedPointerLockable | |
ISynchronizedPointerLockable () | |
~ISynchronizedPointerLockable () | |
Object should never be destroyed before completely unlocked. More... | |
Protected Member Functions inherited from Util::INonCopyable | |
constexpr | INonCopyable ()=default |
~INonCopyable ()=default | |
Data class for StreamManipulator
.
Definition at line 91 of file StreamManipulator.h.
|
inline |
Definition at line 94 of file StreamManipulator.h.
|
virtualdefault |
|
inlinenoexcept |
Getter for InputDataStreams.
Definition at line 97 of file StreamManipulator.h.
|
inlinenoexcept |
Getter for InputDataStreams.
Definition at line 98 of file StreamManipulator.h.
|
inlinenoexcept |
Getter for OutputDataStreams.
Definition at line 99 of file StreamManipulator.h.
|
inlinenoexcept |
Getter for OutputDataStreams.
Definition at line 100 of file StreamManipulator.h.
|
private |
Called by ResetImpl(dispatch_tag<DynExp::ModuleDataBase>)
overridden by this class to initialize the data class instance. Currently, does not do anything.
Definition at line 54 of file StreamManipulator.cpp.
|
finaloverrideprivate |
Refer to DynExp::ModuleDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl()
of every derived class gets called - starting from ModuleDataBase
, descending the inheritance hierarchy. Override in order to reset derived classes.
Definition at line 49 of file StreamManipulator.cpp.
|
inlineprivatevirtual |
Refer to DynExp::ModuleDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl()
of every derived class gets called - starting from ModuleDataBase
, descending the inheritance hierarchy. Override in order to reset derived classes.
Definition at line 111 of file StreamManipulator.h.
|
private |
Linked input data stream instruments whose samples are going to be used for calculations.
Definition at line 122 of file StreamManipulator.h.
|
private |
Linked output data stream instruments to write the computed new samples to.
Definition at line 127 of file StreamManipulator.h.