MADNESS
version 0.9
|
A no-op task used for various purposes. More...
#include <worldthread.h>
Public Member Functions | |
void | run (const TaskThreadEnv &) |
Override this method to implement a multi-threaded task. More... | |
virtual | ~PoolTaskNull () |
Public Member Functions inherited from madness::PoolTaskInterface | |
PoolTaskInterface () | |
PoolTaskInterface (const TaskAttributes &attr) | |
void | set_nthread (int nthread) |
Call this to reset the number of threads before the task is submitted. More... | |
virtual | ~PoolTaskInterface () |
Public Member Functions inherited from madness::TaskAttributes | |
TaskAttributes (unsigned long flags=0) | |
TaskAttributes (const TaskAttributes &attr) | |
virtual | ~TaskAttributes () |
bool | is_generator () const |
bool | is_stealable () const |
bool | is_high_priority () const |
void | set_generator (bool generator_hint) |
void | set_stealable (bool stealable) |
void | set_highpriority (bool hipri) |
void | set_nthread (int nthread) |
Are you sure this is what you want to call? More... | |
int | get_nthread () const |
template<typename Archive > | |
void | serialize (Archive &ar) |
Additional Inherited Members | |
Static Public Member Functions inherited from madness::PoolTaskInterface | |
static void | operator delete (void *p, std::size_t size) throw () |
Destroy task object. More... | |
Static Public Member Functions inherited from madness::TaskAttributes | |
static TaskAttributes | generator () |
static TaskAttributes | hipri () |
static TaskAttributes | multi_threaded (int nthread) |
Static Public Attributes inherited from madness::TaskAttributes | |
static const unsigned long | NTHREAD = 0xff |
static const unsigned long | GENERATOR = 1ul<<8 |
static const unsigned long | STEALABLE = GENERATOR<<1 |
static const unsigned long | HIGHPRIORITY = GENERATOR<<2 |
Static Protected Member Functions inherited from madness::PoolTaskInterface | |
template<typename fnT > | |
static enable_if_c < detail::function_traits< fnT > ::value||detail::memfunc_traits < fnT >::value >::type | make_id (std::pair< void *, unsigned short > &id, fnT fn) |
template<typename fnobjT > | |
static disable_if_c < detail::function_traits < fnobjT >::value||detail::memfunc_traits < fnobjT >::value >::type | make_id (std::pair< void *, unsigned short > &id, const fnobjT &) |
A no-op task used for various purposes.
|
inlinevirtual |
|
inlinevirtual |
Override this method to implement a multi-threaded task.
info.nthread()
will be the number of threads collaborating on this task
info.id()
will be the index of the current thread id=0
,...,nthread-1
info.barrier()
will be a barrier for all of the threads, and returns true
for the last thread to enter the barrier (other threads get false)
Implements madness::PoolTaskInterface.