71 #if !defined(SWIG) || defined(SWIG_THREADING) // Do not read when in swig and not in the threading module
92 #if defined(_MEZZ_THREAD_WIN32_)
100 #if defined(_MEZZ_THREAD_WIN32_)
110 #if defined(_MEZZ_WIN32_)
119 explicit Thread(
void (*aFunction)(
void *));
129 Thread(
void (*aFunction)(
void *),
void * aArg);
146 bool joinable()
const;
170 static unsigned hardware_concurrency();
174 #ifdef _MEZZ_CPP11_PARTIAL_
181 #ifdef _MEZZ_CPP11_PARTIAL_
188 native_handle_type mHandle;
189 mutable Mutex mDataMutex;
191 #if defined(_MEZZ_THREAD_WIN32_)
192 unsigned int mWin32ThreadID;
195 #if defined(_MEZZ_THREAD_WIN32_)
197 static unsigned WINAPI wrapper_function(
void * aArg);
200 static void * wrapper_function(
void * aArg);
239 {
return (aId1.mId == aId2.mId); }
246 {
return (aId1.mId != aId2.mId); }
253 {
return (aId1.mId <= aId2.mId); }
260 {
return (aId1.mId < aId2.mId); }
267 {
return (aId1.mId >= aId2.mId); }
274 {
return (aId1.mId > aId2.mId); }
281 inline friend std::ostream& operator <<(std::ostream &os,
const ThreadId &obj)
291 unsigned long int mId;
295 namespace this_thread