DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
Data class for QModuleBase
.
More...
Public Member Functions | |
QModuleDataBase ()=default | |
virtual | ~QModuleDataBase ()=default |
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< QModuleDataBase >) |
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 QModuleBase
.
|
default |
|
virtualdefault |
|
finaloverrideprivatevirtual |
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.
Reimplemented from DynExp::ModuleDataBase.
Definition at line 503 of file Module.cpp.
|
inlineprivatevirtual |