Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
|
VTask is the abstract class stored in thread_pool. More...
#include <VTask.hh>
Public Types | |
typedef std::thread::id | tid_type |
typedef size_t | size_type |
typedef VTask | this_type |
typedef std::atomic_uintmax_t | count_t |
typedef VTask * | iterator |
typedef const VTask * | const_iterator |
typedef std::function< void()> | void_func_t |
Public Member Functions | |
VTask () | |
VTask (VTaskGroup *task_group) | |
VTask (ThreadPool *pool) | |
virtual | ~VTask () |
virtual void | operator() ()=0 |
void | operator-- () |
virtual bool | is_native_task () const |
virtual ThreadPool * | pool () const |
VTaskGroup * | group () const |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
const_iterator | cbegin () const |
const_iterator | cend () const |
intmax_t & | depth () |
const intmax_t & | depth () const |
Static Protected Member Functions | |
static tid_type | this_tid () |
Protected Attributes | |
intmax_t | m_depth |
VTaskGroup * | m_group |
ThreadPool * | m_pool |
void_func_t | m_func = []() {} |
VTask is the abstract class stored in thread_pool.
typedef const VTask* PTL::VTask::const_iterator |
typedef std::atomic_uintmax_t PTL::VTask::count_t |
typedef VTask* PTL::VTask::iterator |
typedef size_t PTL::VTask::size_type |
typedef VTask PTL::VTask::this_type |
typedef std::thread::id PTL::VTask::tid_type |
typedef std::function<void()> PTL::VTask::void_func_t |
|
explicit |
|
explicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Reimplemented in PTL::PackagedTask< RetT, Args >, PTL::Task< RetT, Args >, PTL::Task< RetT, void >, and PTL::Task< void, void >.
Definition at line 95 of file VTask.cc.
Referenced by PTL::ThreadPool::add_task().
|
pure virtual |
Implemented in PTL::Task< RetT, Args >, PTL::Task< RetT, void >, PTL::Task< void, void >, and PTL::PackagedTask< RetT, Args >.
void VTask::operator-- | ( | ) |
Definition at line 69 of file VTask.cc.
Referenced by PTL::Task< RetT, Args >::operator()(), PTL::Task< RetT, void >::operator()(), and PTL::Task< void, void >::operator()().
|
virtual |
|
inlinestaticprotected |
|
protected |
|
protected |
|
protected |
Definition at line 101 of file VTask.hh.
Referenced by group(), is_native_task(), operator--(), and pool().
|
protected |