Reference documentation for deal.II version 9.4.1
\(\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\}}\)
Loading...
Searching...
No Matches
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
 

Friends

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: