Reference documentation for deal.II version 9.2.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\}}\)
Namespaces | Classes | Typedefs | Functions

Namespaces

 internal
 

Classes

class  ConditionVariable
 
class  Mutex
 
class  PosixThreadBarrier
 
class  Task
 
class  TaskGroup
 
class  Thread
 
class  ThreadGroup
 
class  ThreadLocalStorage
 A class that provides a separate storage location on each thread that accesses the object. More...
 

Typedefs

using Barrier = PosixThreadBarrier
 

Functions

unsigned int n_existing_threads ()
 
unsigned int this_thread_id ()
 
template<typename ForwardIterator >
std::vector< std::pair< ForwardIterator, ForwardIterator > > split_range (const ForwardIterator &begin, const ForwardIterator &end, const unsigned int n_intervals)
 
std::vector< std::pair< unsigned int, unsigned int > > split_interval (const unsigned int begin, const unsigned int end, const unsigned int n_intervals)
 
template<typename RT >
Thread< RT > new_thread (const std::function< RT()> &function)
 
template<typename FunctionObjectType >
auto new_thread (FunctionObjectType function_object) -> Thread< decltype(function_object())>
 
template<typename RT , typename... Args>
Thread< RT > new_thread (RT(*fun_ptr)(Args...), typename identity< Args >::type... args)
 
template<typename RT , typename C , typename... Args>
Thread< RT > 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 > new_thread (RT(C::*fun_ptr)(Args...) const, typename identity< const C >::type &c, typename identity< Args >::type... args)
 
template<typename RT >
Task< RT > new_task (const std::function< RT()> &function)
 
template<typename FunctionObjectType >
auto new_task (FunctionObjectType function_object) -> Task< decltype(function_object())>
 
template<typename RT , typename... Args>
Task< RT > new_task (RT(*fun_ptr)(Args...), typename identity< Args >::type... args)
 
template<typename RT , typename C , typename... Args>
Task< RT > 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 > new_task (RT(C::*fun_ptr)(Args...) const, typename identity< const C >::type &c, typename identity< Args >::type... args)
 

Detailed Description

A namespace for the implementation of thread management in deal.II. Most of the content of this namespace is discussed in detail in one of the reports linked to from the documentation page of deal.II.

Typedef Documentation

◆ Barrier

If using POSIX functions, then alias the POSIX wrapper classes to the names we use throughout the library.

Definition at line 286 of file thread_management.h.