Reference documentation for deal.II version 9.4.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Member Functions | Private Attributes | Friends | List of all members

Public Member Functions

 TaskData (std::future< RT > &&future) noexcept
 TaskData (const TaskData &)=delete
 TaskData (TaskData &&)=delete
TaskDataoperator= (const TaskData &)=delete
TaskDataoperator= (TaskData &&)=delete
 ~TaskData () noexcept
void wait ()
internal::return_value< RT >::reference_type get ()

Private Attributes

std::mutex mutex
std::future< RT > future
std::atomic< booltask_has_finished
internal::return_value< RT > returned_object
tbb::task_group task_group


class Task< RT >

Detailed Description

template<typename RT = void>
class Threads::Task< RT >::TaskData

A data structure that holds a std::future into which the task deposits its return value. Since one can only call std::future::get() once, we do so in the get() member function and then move the returned object into the returned_object member variable from where we can read it multiple times and from where it can also be moved away if it is not copyable.

Definition at line 1313 of file thread_management.h.

The documentation for this class was generated from the following file: