![]() |
Reference documentation for deal.II version 8.1.0
|
Public Member Functions | |
TaskDescriptor (const std_cxx1x::function< RT()> &function) | |
TaskDescriptor () | |
TaskDescriptor (const TaskDescriptor &) | |
~TaskDescriptor () | |
void | queue_task () |
void | join () |
Private Attributes | |
std_cxx1x::function< RT()> | function |
tbb::task * | task |
return_value< RT > | ret_val |
bool | task_is_done |
Friends | |
template<typename > | |
struct | TaskEntryPoint |
class | ::Threads::Task< RT > |
Definition at line 3960 of file thread_management.h.
|
inline |
Constructor. Take the function to be run on this task as argument.
Definition at line 4150 of file thread_management.h.
Threads::internal::TaskDescriptor< RT >::TaskDescriptor | ( | ) |
Default constructor. Throws an exception since we want to queue a task immediately upon construction of these objects to make sure that each TaskDescriptor object corresponds to exactly one task.
Definition at line 4177 of file thread_management.h.
Threads::internal::TaskDescriptor< RT >::TaskDescriptor | ( | const TaskDescriptor< RT > & | ) |
Copy constructor. Throws an exception since we want to make sure that each TaskDescriptor object corresponds to exactly one task.
Definition at line 4185 of file thread_management.h.
|
inline |
Destructor.
Definition at line 4194 of file thread_management.h.
|
inline |
Queue up the task to the scheduler. We need to do this in a separate function since the new tasks needs to access objects from the current object and that can only reliably happen if the current object is completely constructed already.
Definition at line 4160 of file thread_management.h.
|
inline |
Join a task, i.e. wait for it to finish. This function can safely be called from different threads at the same time, and can also be called more than once.
Definition at line 4227 of file thread_management.h.
|
private |
The function and its arguments that are to be run on the task.
Definition at line 4050 of file thread_management.h.
|
private |
Variable holding the data the TBB needs to work with a task. Set by the queue_up_task() function. Note that the object behind this pointer will be deleted upon termination of the task, so we do not have to do so ourselves. In particular, if all objects with pointers to this task_description object go out of scope then no action is needed on our behalf.
Definition at line 4065 of file thread_management.h.
|
private |
A place where the task will deposit its return value.
Definition at line 4071 of file thread_management.h.
|
private |
A flag indicating whether the task has terminated.
Definition at line 4077 of file thread_management.h.