Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
|
#include <UserTaskQueue.hh>
Public Types | |
using | task_pointer = std::shared_ptr< VTask > |
using | TaskSubQueueContainer = std::vector< TaskSubQueue * > |
using | random_engine_t = std::default_random_engine |
using | int_dist_t = std::uniform_int_distribution< int > |
Public Types inherited from PTL::VUserTaskQueue | |
using | task_pointer = std::shared_ptr< VTask > |
using | AtomicInt = std::atomic< intmax_t > |
using | size_type = uintmax_t |
using | function_type = std::function< void()> |
using | ThreadIdSet = std::set< ThreadId > |
Public Member Functions | |
UserTaskQueue (intmax_t nworkers=-1, UserTaskQueue *=nullptr) | |
~UserTaskQueue () override | |
task_pointer | GetTask (intmax_t subq=-1, intmax_t nitr=-1) override |
intmax_t | InsertTask (task_pointer &&, ThreadData *=nullptr, intmax_t subq=-1) override PTL_NO_SANITIZE_THREAD |
task_pointer | GetThreadBinTask () |
void | Wait () override |
void | resize (intmax_t) override |
bool | empty () const override |
size_type | size () const override |
size_type | bin_size (size_type bin) const override |
bool | bin_empty (size_type bin) const override |
bool | true_empty () const override |
size_type | true_size () const override |
void | ExecuteOnAllThreads (ThreadPool *tp, function_type f) override |
void | ExecuteOnSpecificThreads (ThreadIdSet tid_set, ThreadPool *tp, function_type f) override |
VUserTaskQueue * | clone () override |
intmax_t | GetThreadBin () const override |
Public Member Functions inherited from PTL::VUserTaskQueue | |
VUserTaskQueue (intmax_t nworkers=-1) | |
virtual | ~VUserTaskQueue ()=default |
virtual task_pointer | GetTask (intmax_t subq=-1, intmax_t nitr=-1)=0 |
virtual intmax_t | InsertTask (task_pointer &&, ThreadData *=nullptr, intmax_t subq=-1) PTL_NO_SANITIZE_THREAD=0 |
virtual void | Wait ()=0 |
virtual intmax_t | GetThreadBin () const =0 |
virtual void | resize (intmax_t)=0 |
virtual size_type | size () const =0 |
virtual bool | empty () const =0 |
virtual size_type | bin_size (size_type bin) const =0 |
virtual bool | bin_empty (size_type bin) const =0 |
virtual size_type | true_size () const |
virtual bool | true_empty () const |
virtual void | ExecuteOnAllThreads (ThreadPool *tp, function_type f)=0 |
virtual void | ExecuteOnSpecificThreads (ThreadIdSet tid_set, ThreadPool *tp, function_type f)=0 |
intmax_t | workers () const |
virtual VUserTaskQueue * | clone ()=0 |
Protected Member Functions | |
intmax_t | GetInsertBin () const |
Additional Inherited Members | |
Protected Attributes inherited from PTL::VUserTaskQueue | |
intmax_t | m_workers = 0 |
Definition at line 42 of file UserTaskQueue.hh.
using PTL::UserTaskQueue::int_dist_t = std::uniform_int_distribution<int> |
Definition at line 48 of file UserTaskQueue.hh.
using PTL::UserTaskQueue::random_engine_t = std::default_random_engine |
Definition at line 47 of file UserTaskQueue.hh.
using PTL::UserTaskQueue::task_pointer = std::shared_ptr<VTask> |
Definition at line 45 of file UserTaskQueue.hh.
using PTL::UserTaskQueue::TaskSubQueueContainer = std::vector<TaskSubQueue*> |
Definition at line 46 of file UserTaskQueue.hh.
UserTaskQueue::UserTaskQueue | ( | intmax_t | nworkers = -1 , |
UserTaskQueue * | parent = nullptr |
||
) |
Definition at line 48 of file UserTaskQueue.cc.
|
override |
Definition at line 88 of file UserTaskQueue.cc.
|
inlineoverridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 135 of file UserTaskQueue.hh.
|
inlineoverridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 127 of file UserTaskQueue.hh.
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 135 of file UserTaskQueue.cc.
|
inlineoverridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 111 of file UserTaskQueue.hh.
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 320 of file UserTaskQueue.cc.
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 383 of file UserTaskQueue.cc.
|
protected |
Definition at line 153 of file UserTaskQueue.cc.
Referenced by InsertTask().
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 195 of file UserTaskQueue.cc.
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 142 of file UserTaskQueue.cc.
Referenced by ExecuteOnAllThreads(), ExecuteOnSpecificThreads(), GetTask(), GetThreadBinTask(), and InsertTask().
UserTaskQueue::task_pointer UserTaskQueue::GetThreadBinTask | ( | ) |
Definition at line 161 of file UserTaskQueue.cc.
Referenced by GetTask().
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 253 of file UserTaskQueue.cc.
Referenced by ExecuteOnAllThreads(), and ExecuteOnSpecificThreads().
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 108 of file UserTaskQueue.cc.
|
inlineoverridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 119 of file UserTaskQueue.hh.
|
inlineoverridevirtual |
Reimplemented from PTL::VUserTaskQueue.
Definition at line 143 of file UserTaskQueue.hh.
Referenced by GetTask(), and UserTaskQueue().
|
inlineoverridevirtual |
Reimplemented from PTL::VUserTaskQueue.
Definition at line 154 of file UserTaskQueue.hh.
Referenced by UserTaskQueue().
|
inlineoverridevirtual |