|
MADNESS
version 0.9
|
Apply an operation to a range of iterators. More...
#include <worldtask.h>


Public Member Functions | |
| ForEachTask (const rangeT range, const opT &op, ForEachRootTask< rangeT, opT > &root) | |
| Constructor. More... | |
| virtual | ~ForEachTask () |
| Virtual destructor. More... | |
| virtual void | run (const TaskThreadEnv &) |
| Run the task. More... | |
Public Member Functions inherited from madness::TaskInterface | |
| TaskInterface (int ndepend=0, const TaskAttributes attr=TaskAttributes()) | |
| Create a new task with ndepend dependencies (default 0) and given attributes. More... | |
| TaskInterface (const TaskAttributes &attr) | |
| Create a new task with zero dependencies and given attributes. More... | |
| virtual void | run (World &) |
| Runs a single-threaded task ... derived classes must implement this. More... | |
| virtual void | run (World &world, const TaskThreadEnv &env) |
| Runs a multi-threaded task. More... | |
| World * | get_world () const |
| virtual | ~TaskInterface () |
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) |
Public Member Functions inherited from madness::DependencyInterface | |
| DependencyInterface (int ndep=0) | |
| int | ndep () const |
| Returns the number of unsatisfied dependencies. More... | |
| bool | probe () const |
| Returns true if ndepend == 0. More... | |
| void | notify () |
| Invoked by callbacks to notifiy of dependencies being satisfied. More... | |
| void | register_callback (CallbackInterface *callback) |
Registers a callback for when ndepend==0 , immediately invoked if ndepend==0. More... | |
| void | inc () |
| Increment the number of dependencies. More... | |
| void | dec () |
| Decrement the number of dependencies and invoke callback if ndepend=0. More... | |
| virtual | ~DependencyInterface () |
Public Member Functions inherited from madness::CallbackInterface | |
| virtual | ~CallbackInterface () |
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::TaskInterface | |
| static bool | debug = false |
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 &) |
Apply an operation to a range of iterators.
| rangeT | The range of iterators type |
| opT | The operation type This task will progressively split range, spawning leaf for each tasks, until the range of iterators is smaller than the range chunck size. |
|
inline |
Constructor.
References madness::DependencyInterface::inc().
|
inlinevirtual |
Virtual destructor.
|
inlinevirtual |
Run the task.
Reimplemented from madness::TaskInterface.
References madness::detail::ForEachRootTask< rangeT, opT >::complete(), and madness::detail::ForEachRootTask< rangeT, opT >::world().
1.8.8