#pragma once #include "BaseThread.h" namespace ehs { class Thread : public BaseThread { private: void* hdl; public: ~Thread(); Thread(); Thread(UInt_64 stackSize, void* args, UInt_32 (*func)(void*)); Thread(Thread&& thread) noexcept; Thread(const Thread& thread); Thread& operator=(Thread&& thread) noexcept; Thread& operator=(const Thread& thread); void Detach() override; void Join() override; static UInt_32 GetCurrentId(); bool IsValid() const override; static void HardSleep(UInt_32 milliseconds); }; }