|
Geant4 11.3.0
Toolkit for the simulation of the passage of particles through matter
|
#include <UserTaskQueue.hh>
Inheritance diagram for PTL::UserTaskQueue: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 |
| intmax_t | workers () const |
Protected Member Functions | |
| intmax_t | GetInsertBin () const |
Additional Inherited Members | |
Protected Attributes inherited from PTL::VUserTaskQueue | |
| intmax_t | m_workers = 0 |
Definition at line 45 of file UserTaskQueue.hh.
| using PTL::UserTaskQueue::int_dist_t = std::uniform_int_distribution<int> |
Definition at line 51 of file UserTaskQueue.hh.
| using PTL::UserTaskQueue::random_engine_t = std::default_random_engine |
Definition at line 50 of file UserTaskQueue.hh.
| using PTL::UserTaskQueue::task_pointer = std::shared_ptr<VTask> |
Definition at line 48 of file UserTaskQueue.hh.
| using PTL::UserTaskQueue::TaskSubQueueContainer = std::vector<TaskSubQueue*> |
Definition at line 49 of file UserTaskQueue.hh.
| PTL::UserTaskQueue::UserTaskQueue | ( | intmax_t | nworkers = -1, |
| UserTaskQueue * | parent = nullptr ) |
Definition at line 47 of file UserTaskQueue.cc.
Referenced by clone(), and UserTaskQueue().
|
override |
Definition at line 67 of file UserTaskQueue.cc.
|
inlineoverridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 138 of file UserTaskQueue.hh.
|
inlineoverridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 130 of file UserTaskQueue.hh.
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 114 of file UserTaskQueue.cc.
|
inlineoverridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 114 of file UserTaskQueue.hh.
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 298 of file UserTaskQueue.cc.
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 361 of file UserTaskQueue.cc.
|
protected |
Definition at line 132 of file UserTaskQueue.cc.
Referenced by InsertTask().
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 174 of file UserTaskQueue.cc.
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 121 of file UserTaskQueue.cc.
Referenced by ExecuteOnAllThreads(), ExecuteOnSpecificThreads(), GetTask(), GetThreadBinTask(), and InsertTask().
| UserTaskQueue::task_pointer PTL::UserTaskQueue::GetThreadBinTask | ( | ) |
Definition at line 140 of file UserTaskQueue.cc.
Referenced by GetTask().
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 232 of file UserTaskQueue.cc.
Referenced by ExecuteOnAllThreads(), and ExecuteOnSpecificThreads().
|
overridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 87 of file UserTaskQueue.cc.
|
inlineoverridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 122 of file UserTaskQueue.hh.
|
inlineoverridevirtual |
Reimplemented from PTL::VUserTaskQueue.
Definition at line 146 of file UserTaskQueue.hh.
Referenced by GetTask().
|
inlineoverridevirtual |
Reimplemented from PTL::VUserTaskQueue.
Definition at line 157 of file UserTaskQueue.hh.
|
inlineoverridevirtual |
Implements PTL::VUserTaskQueue.
Definition at line 71 of file UserTaskQueue.hh.
Referenced by Wait().