-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-// multithread.h
-
-
-#ifndef _MULTITHREAD_H
-# define _MULTITHREAD_H
-
-# include <windows.h>
-
-
-///
-class SyncObject
-{
-public:
- ///
- virtual void acquire() = 0;
- ///
- virtual void acquire(int ) { acquire(); }
- ///
- virtual void release() = 0;
-};
-
-
-///
-class CriticalSection : public SyncObject
-{
- CRITICAL_SECTION m_cs; ///
-
-public:
- ///
- CriticalSection() { InitializeCriticalSection(&m_cs); }
- ///
- ~CriticalSection() { DeleteCriticalSection(&m_cs); }
- ///
- void acquire() { EnterCriticalSection(&m_cs); }
- ///
- void release() { LeaveCriticalSection(&m_cs); }
-};
-
-
-///
-class Acquire
-{
- SyncObject *m_so; ///
-
-public:
- ///
- Acquire(SyncObject *i_so) : m_so(i_so) { m_so->acquire(); }
- ///
- Acquire(SyncObject *i_so, int i_n) : m_so(i_so) { m_so->acquire(i_n); }
- ///
- ~Acquire() { m_so->release(); }
-};
-
-
-#endif // !_MULTITHREAD_H
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
+// multithread.h\r
+\r
+\r
+#ifndef _MULTITHREAD_H\r
+# define _MULTITHREAD_H\r
+\r
+# include <windows.h>\r
+\r
+\r
+///\r
+class SyncObject\r
+{\r
+public:\r
+ ///\r
+ virtual void acquire() = 0;\r
+ ///\r
+ virtual void acquire(int ) {\r
+ acquire();\r
+ }\r
+ ///\r
+ virtual void release() = 0;\r
+};\r
+\r
+\r
+///\r
+class CriticalSection : public SyncObject\r
+{\r
+ CRITICAL_SECTION m_cs; ///\r
+\r
+public:\r
+ ///\r
+ CriticalSection() {\r
+ InitializeCriticalSection(&m_cs);\r
+ }\r
+ ///\r
+ ~CriticalSection() {\r
+ DeleteCriticalSection(&m_cs);\r
+ }\r
+ ///\r
+ void acquire() {\r
+ EnterCriticalSection(&m_cs);\r
+ }\r
+ ///\r
+ void release() {\r
+ LeaveCriticalSection(&m_cs);\r
+ }\r
+};\r
+\r
+\r
+///\r
+class Acquire\r
+{\r
+ SyncObject *m_so; ///\r
+\r
+public:\r
+ ///\r
+ Acquire(SyncObject *i_so) : m_so(i_so) {\r
+ m_so->acquire();\r
+ }\r
+ ///\r
+ Acquire(SyncObject *i_so, int i_n) : m_so(i_so) {\r
+ m_so->acquire(i_n);\r
+ }\r
+ ///\r
+ ~Acquire() {\r
+ m_so->release();\r
+ }\r
+};\r
+\r
+\r
+#endif // !_MULTITHREAD_H\r