1234567891011121314151617181920212223242526272829 |
- #ifndef CORE_THREAD_HPP
- #define CORE_THREAD_HPP
- #include "core/utils/AlignedData.hpp"
- #include "core/utils/Check.hpp"
- #include "core/utils/Error.hpp"
- namespace Core {
- class Thread final {
- AlignedData<8, 8> thread;
- public:
- Thread();
- Thread(const Thread& other) = delete;
- Thread(Thread&& other);
- ~Thread();
- Thread& operator=(const Thread& other) = delete;
- Thread& operator=(Thread&& other);
- void swap(Thread& other);
- using Function = int (*)(void*);
- check_return Error start(Function f, void* p);
- check_return Error join(int* returnValue = nullptr);
- };
- }
- #endif
|