Geant4-11
|
#include <VUserTaskQueue.hh>
Public Types | |
typedef std::atomic< intmax_t > | AtomicInt |
typedef std::function< void()> | function_type |
typedef uintmax_t | size_type |
typedef std::shared_ptr< VTask > | task_pointer |
typedef std::set< ThreadId > | ThreadIdSet |
Public Member Functions | |
virtual bool | bin_empty (size_type bin) const =0 |
virtual size_type | bin_size (size_type bin) const =0 |
virtual VUserTaskQueue * | clone ()=0 |
virtual bool | empty () const =0 |
virtual void | ExecuteOnAllThreads (ThreadPool *tp, function_type f)=0 |
virtual void | ExecuteOnSpecificThreads (ThreadIdSet tid_set, ThreadPool *tp, function_type f)=0 |
virtual task_pointer | GetTask (intmax_t subq=-1, intmax_t nitr=-1)=0 |
virtual intmax_t | GetThreadBin () const =0 |
virtual intmax_t | InsertTask (task_pointer &&, ThreadData *=nullptr, intmax_t subq=-1) PTL_NO_SANITIZE_THREAD=0 |
virtual void | resize (intmax_t)=0 |
virtual size_type | size () const =0 |
virtual bool | true_empty () const |
virtual size_type | true_size () const |
VUserTaskQueue (intmax_t nworkers=-1) | |
virtual void | Wait ()=0 |
intmax_t | workers () const |
virtual | ~VUserTaskQueue ()=default |
Protected Attributes | |
intmax_t | m_workers = 0 |
Definition at line 47 of file VUserTaskQueue.hh.
typedef std::atomic<intmax_t> PTL::VUserTaskQueue::AtomicInt |
Definition at line 51 of file VUserTaskQueue.hh.
typedef std::function<void()> PTL::VUserTaskQueue::function_type |
Definition at line 53 of file VUserTaskQueue.hh.
typedef uintmax_t PTL::VUserTaskQueue::size_type |
Definition at line 52 of file VUserTaskQueue.hh.
typedef std::shared_ptr<VTask> PTL::VUserTaskQueue::task_pointer |
Definition at line 50 of file VUserTaskQueue.hh.
typedef std::set<ThreadId> PTL::VUserTaskQueue::ThreadIdSet |
Definition at line 54 of file VUserTaskQueue.hh.
|
explicit |
Definition at line 35 of file VUserTaskQueue.cc.
References PTL::TaskRunManager::GetMasterRunManager(), PTL::TaskRunManager::GetNumberOfThreads(), and m_workers.
|
virtualdefault |
|
pure virtual |
Implemented in PTL::UserTaskQueue.
Implemented in PTL::UserTaskQueue.
|
pure virtual |
Implemented in PTL::UserTaskQueue.
|
pure virtual |
Implemented in PTL::UserTaskQueue.
Referenced by PTL::ThreadPool::execute_thread(), and true_empty().
|
pure virtual |
Implemented in PTL::UserTaskQueue.
Referenced by PTL::ThreadPool::execute_on_all_threads().
|
pure virtual |
Implemented in PTL::UserTaskQueue.
Referenced by PTL::ThreadPool::execute_on_specific_threads().
|
pure virtual |
Implemented in PTL::UserTaskQueue.
Referenced by PTL::ThreadPool::execute_thread().
|
pure virtual |
Implemented in PTL::UserTaskQueue.
|
pure virtual |
Implemented in PTL::UserTaskQueue.
Referenced by PTL::ThreadPool::add_tasks(), and PTL::ThreadPool::insert().
|
pure virtual |
Implemented in PTL::UserTaskQueue.
Referenced by PTL::ThreadPool::resize().
|
pure virtual |
Implemented in PTL::UserTaskQueue.
Referenced by true_size().
|
inlinevirtual |
Reimplemented in PTL::UserTaskQueue.
Definition at line 96 of file VUserTaskQueue.hh.
References empty().
|
inlinevirtual |
Reimplemented in PTL::UserTaskQueue.
Definition at line 95 of file VUserTaskQueue.hh.
References size().
Referenced by PTL::ThreadPool::execute_thread().
|
pure virtual |
Implemented in PTL::UserTaskQueue.
|
inline |
Definition at line 104 of file VUserTaskQueue.hh.
References m_workers.
Referenced by PTL::UserTaskQueue::clone().
|
protected |
Definition at line 109 of file VUserTaskQueue.hh.
Referenced by PTL::UserTaskQueue::ExecuteOnAllThreads(), PTL::UserTaskQueue::ExecuteOnSpecificThreads(), PTL::UserTaskQueue::GetInsertBin(), PTL::UserTaskQueue::GetTask(), PTL::UserTaskQueue::GetThreadBin(), PTL::UserTaskQueue::GetThreadBinTask(), PTL::UserTaskQueue::InsertTask(), PTL::UserTaskQueue::resize(), VUserTaskQueue(), and workers().