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
Classes | Namespaces | Functions
thread_management.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/exceptions.h>
#include <deal.II/base/multithread_info.h>
#include <deal.II/base/std_cxx17/tuple.h>
#include <deal.II/base/template_constraints.h>
#include <atomic>
#include <functional>
#include <future>
#include <list>
#include <memory>
#include <mutex>
#include <thread>
#include <utility>
#include <vector>
#include <tbb/task_group.h>

Go to the source code of this file.

Classes

class  Threads::Mutex
 
struct  Threads::internal::return_value< RT >
 
struct  Threads::internal::return_value< RT & >
 
struct  Threads::internal::return_value< void >
 
struct  Threads::internal::ThreadDescriptor< RT >
 
class  Threads::Thread< RT >
 
struct  Threads::internal::maybe_make_ref< T >
 
struct  Threads::internal::maybe_make_ref< T & >
 
class  Threads::ThreadGroup< RT >
 
class  Threads::Task< RT >
 
class  Threads::Task< RT >::TaskData
 
class  Threads::TaskGroup< RT >
 

Namespaces

namespace  Threads
 
namespace  Threads::internal
 

Functions

template<typename ForwardIterator >
std::vector< std::pair< ForwardIterator, ForwardIterator > > Threads::split_range (const ForwardIterator &begin, const ForwardIterator &end, const unsigned int n_intervals)
 
std::vector< std::pair< unsigned int, unsigned int > > Threads::split_interval (const unsigned int begin, const unsigned int end, const unsigned int n_intervals)
 
template<typename RT >
void Threads::internal::call (const std::function< RT()> &function, internal::return_value< RT > &ret_val)
 
void Threads::internal::call (const std::function< void()> &function, internal::return_value< void > &)
 
template<typename RT >
Thread< RT > Threads::new_thread (const std::function< RT()> &function)
 
template<typename FunctionObjectType >
auto Threads::new_thread (FunctionObjectType function_object) -> Thread< decltype(function_object())>
 
template<typename RT , typename... Args>
Thread< RT > Threads::new_thread (RT(*fun_ptr)(Args...), typename identity< Args >::type... args)
 
template<typename RT , typename C , typename... Args>
Thread< RT > Threads::new_thread (RT(C::*fun_ptr)(Args...), typename identity< C >::type &c, typename identity< Args >::type... args)
 
template<typename RT , typename C , typename... Args>
Thread< RT > Threads::new_thread (RT(C::*fun_ptr)(Args...) const, typename identity< const C >::type &c, typename identity< Args >::type... args)
 
template<typename RT , typename Function >
void Threads::internal::evaluate_and_set_promise (Function &function, std::promise< RT > &promise)
 
template<typename Function >
void Threads::internal::evaluate_and_set_promise (Function &function, std::promise< void > &promise)
 
template<typename RT >
Task< RT > Threads::new_task (const std::function< RT()> &function)
 
template<typename FunctionObjectType >
auto Threads::new_task (FunctionObjectType function_object) -> Task< decltype(function_object())>
 
template<typename RT , typename... Args>
Task< RT > Threads::new_task (RT(*fun_ptr)(Args...), typename identity< Args >::type... args)
 
template<typename RT , typename C , typename... Args>
Task< RT > Threads::new_task (RT(C::*fun_ptr)(Args...), typename identity< C >::type &c, typename identity< Args >::type... args)
 
template<typename RT , typename C , typename... Args>
Task< RT > Threads::new_task (RT(C::*fun_ptr)(Args...) const, typename identity< const C >::type &c, typename identity< Args >::type... args)