9 #ifndef PTHREAD_THREAD_HPP
10 #define PTHREAD_THREAD_HPP
23 #include "pthread/config.h"
24 #include "pthread/exceptions.hpp"
25 #include "pthread/mutex.hpp"
26 #include "pthread/lock_guard.hpp"
65 #if __cplusplus < 201103L
66 virtual void run ()
throw() = 0 ;
68 virtual void run () noexcept = 0 ;
106 thread(
const runnable &runner,
const std::size_t stack_size = 0 );
175 void swap (
thread& other );
178 pthread_attr_t _attr;
268 std::size_t _stack_size ;
300 #if __cplusplus < 201103L
333 unsigned long size();
340 std::list<pthread::abstract_thread*> _threads;
341 bool _destructor_joins_first;
349 namespace this_thread{
const bool destructor_joins_first()
void sleep_for(const int millis)
void add(abstract_thread *thread)
void * thread_startup_runnable(void *)
virtual void run() noexcept=0
thread_group(bool destructor_joins_first=false) noexcept
abstract_thread(const std::size_t stack_size=0)
thread & operator=(const thread &)=delete