CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
edm::SerialTaskQueue::QueuedTask< T > Class Template Reference
Inheritance diagram for edm::SerialTaskQueue::QueuedTask< T >:
edm::SerialTaskQueue::TaskBase

Public Member Functions

 QueuedTask (const T &iAction)
 

Private Member Functions

tbb::task * execute () override
 

Private Attributes

T m_action
 

Additional Inherited Members

- Protected Member Functions inherited from edm::SerialTaskQueue::TaskBase
tbb::task * finishedTask ()
 

Detailed Description

template<typename T>
class edm::SerialTaskQueue::QueuedTask< T >

Definition at line 160 of file SerialTaskQueue.h.

Constructor & Destructor Documentation

◆ QueuedTask()

template<typename T >
edm::SerialTaskQueue::QueuedTask< T >::QueuedTask ( const T iAction)
inline

Definition at line 162 of file SerialTaskQueue.h.

162 : m_action(iAction) {}

Member Function Documentation

◆ execute()

template<typename T >
tbb::task * edm::SerialTaskQueue::QueuedTask< T >::execute ( void  )
overrideprivate

Definition at line 212 of file SerialTaskQueue.h.

212  {
213  // Exception has to swallowed in order to avoid throwing from execute(). The user of SerialTaskQueue should handle exceptions within m_action().
214  CMS_SA_ALLOW try { this->m_action(); } catch (...) {
215  }
216  return this->finishedTask();
217  }

References CMS_SA_ALLOW, and edm::SerialTaskQueue::finishedTask().

Member Data Documentation

◆ m_action

template<typename T >
T edm::SerialTaskQueue::QueuedTask< T >::m_action
private

Definition at line 167 of file SerialTaskQueue.h.

CMS_SA_ALLOW
#define CMS_SA_ALLOW
Definition: thread_safety_macros.h:5
edm::SerialTaskQueue::QueuedTask::m_action
T m_action
Definition: SerialTaskQueue.h:167
edm::SerialTaskQueue::TaskBase::finishedTask
tbb::task * finishedTask()
Definition: SerialTaskQueue.h:209