35 #ifndef _BLAZE_UTIL_THREAD_H_ 36 #define _BLAZE_UTIL_THREAD_H_ 57 template<
typename TT,
typename MT,
typename LT,
typename CT >
class ThreadPool;
246 template<
typename TT
271 template<
typename Callable,
typename... Args >
272 explicit inline Thread( Callable func, Args&&... args );
343 template<
typename TT
366 template<
typename TT
370 template<
typename Callable
392 template<
typename TT
418 template<
typename TT
437 template<
typename TT
456 template<
typename TT
480 template<
typename TT
TT ThreadType
Type of the encapsulated thread.
Definition: Thread.h:255
Thread(ThreadPoolType *pool)
Starting a thread in a thread pool.
Definition: Thread.h:347
Base class for non-copyable class instances.
volatile bool terminated_
Thread termination flag.
Definition: Thread.h:309
ThreadHandle thread_
Handle to the thread of execution.
Definition: Thread.h:314
bool executeTask()
Executing a scheduled task.
Definition: ThreadPool.h:772
void join()
Waiting for a thread of execution to complete.
Definition: Thread.h:441
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Base class for non-copyable class instances.The NonCopyable class is intended to work as a base class...
Definition: NonCopyable.h:63
void run()
Execution function for threads in a thread pool.
Definition: Thread.h:484
Implementation of a single thread of execution.
Definition: Thread.h:250
bool joinable() const
Returns whether this is a thread of execution.
Definition: Thread.h:422
Header file for run time assertion macros.
ThreadPoolType * pool_
Handle to the managing thread pool.
Definition: Thread.h:313
bool hasTerminated() const
Returns whether the thread has terminated its execution.
Definition: Thread.h:460
std::unique_ptr< ThreadType > ThreadHandle
Handle for a single thread.
Definition: Thread.h:257
Implementation of a thread pool.
Definition: Thread.h:57
#define BLAZE_INTERNAL_ASSERT(expr, msg)
Run time assertion macro for internal checks.In case of an invalid run time expression, the program execution is terminated. The BLAZE_INTERNAL_ASSERT macro can be disabled by setting the BLAZE_USER_ASSERTION flag to zero or by defining NDEBUG during the compilation.
Definition: Assert.h:101
~Thread()
Destructor for the Thread class.
Definition: Thread.h:396