8#include "Arp/System/Core/PimplPtr.hxx" 
    9#include "Arp/System/Core/delegate.hxx" 
   10#include "Arp/System/Commons/Threading/ThreadSettings.hpp" 
   11#include "Arp/System/Commons/Threading/ThreadState.hpp" 
   13#include "Arp/System/Commons/Logging.h" 
   14#include "Arp/System/Commons/Threading/AutoResetEvent.hpp" 
   15#include "Arp/System/Commons/Threading/ManualResetEvent.hpp" 
   16#include "Arp/System/Commons/Threading/Semaphore.hpp" 
   17#include "Arp/System/Commons/Threading/Mutex.hpp" 
   87    template<
class TInstance, 
class TFunction>
 
   88    ARP_DEPRECATED(
"Use constructor with ThreadSettings instead. Supply at least a thread name!")
 
   89    Thread(TInstance& instance, TFunction fn, 
void* pStartParam = 
nullptr);
 
   97    template<class TInstance, class TFunction>
 
   99    Thread(const TInstance& instance, TFunction fn, 
void* pStartParam = 
nullptr);
 
  107    template<class TInstance, class TFunction>
 
  109    Thread(TInstance* pInstance, TFunction fn, 
void* pStartParam = 
nullptr);
 
  117    template<class TInstance, class TFunction>
 
  119    Thread(const TInstance* pInstance, TFunction fn, 
void* pStartParam = 
nullptr);
 
  147    template<class TInstance, class TFunction>
 
  148    Thread(const 
ThreadSettings& settings, TInstance& instance, TFunction fn, 
void* pStartParam = 
nullptr);
 
  156    template<class TInstance, class TFunction>
 
  157    Thread(const 
ThreadSettings& settings, const TInstance& instance, TFunction fn, 
void* pStartParam = 
nullptr);
 
  165    template<class TInstance, class TFunction>
 
  166    Thread(const 
ThreadSettings& settings, TInstance* pInstance, TFunction fn, 
void* pStartParam = 
nullptr);
 
  174    template<class TInstance, class TFunction>
 
  175    Thread(const 
ThreadSettings& settings, const TInstance* pInstance, TFunction fn, 
void* pStartParam = 
nullptr);
 
  230    static 
void Sleep(
uint64 milliseconds);
 
  234    static 
size_t GetCurrentThreadId(
void);
 
  238    static 
Thread* GetCurrentThread(
void);
 
  248    static 
void SetAsynchronousCancelability(
bool enable);
 
  252    bool IsRunning(
void)const;
 
  271    void SetCpuAffinity(
size_t mask);
 
  276    size_t GetCpuAffinity(
void)const;
 
  281    void SetPriority(
size_t value);
 
  285    size_t GetPriority(
void)const;
 
  300    void SetStackSize(
size_t value);
 
  304    size_t GetStackSize(
void)const;
 
  313    void SetName(const 
String& value);
 
  317    const 
String& GetName(
void)const;
 
  328    bool IsJoinable(
void);
 
  345    void Interrupt(
void);
 
  348    void Terminate(
void);
 
  355    const Impl& GetImpl(
void)const;
 
  366template<class TInstance, class TFunction>
 
  367inline 
Thread::
Thread(TInstance& instance, TFunction fn, 
void* pStartParam)
 
  372template<
class TInstance, 
class TFunction>
 
  378template<
class TInstance, 
class TFunction>
 
  384template<
class TInstance, 
class TFunction>
 
  385inline Thread::Thread(
const TInstance* pInstance, TFunction fn, 
void* pStartParam)
 
  400template<
class TInstance, 
class TFunction>
 
  406template<
class TInstance, 
class TFunction>
 
  412template<
class TInstance, 
class TFunction>
 
  418template<
class TInstance, 
class TFunction>
 
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
 
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
 
Prototyping of delegate template.
Definition: delegate.hxx:14
 
Container class for adaptable thread settings.
Definition: ThreadSettings.hpp:13
 
The Thread-class provides methods to execute functions and methods in a separate thread.
Definition: Thread.hpp:68
 
static const size_t CpuAffinityAll
Use this constant to express an affinity of the thread to all available CPUs aka. cores.
Definition: Thread.hpp:77
 
Thread(TInstance &instance, TFunction fn, void *pStartParam=nullptr)
Deprecated! Constructs a Thread instance for a class method.
Definition: Thread.hpp:367
 
void(*)(void *) ThreadStartFunction
Definition of signature of function to be executed in a separate thread.
Definition: Thread.hpp:71
 
std::uint64_t uint64
The Arp unsigned integer type of 8 byte size.
Definition: PrimitiveTypes.hpp:37
 
Namespace for classes handling threads and synchronization
 
ThreadState
Possible thread states.
Definition: ThreadState.hpp:15
 
class ARP_DEPRECATED("Use Arp::Enum<T> instead.") EnumStrings
Deprecated! The class implements an adapter for enums to define the string literals of the enum entri...
Definition: EnumStrings.hxx:38
 
Namespace of the C++ standard library