00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00034
#if !defined( _THREADS_1__WIN32__OS_THREAD_ID_HPP_ )
00035
#define _THREADS_1__WIN32__OS_THREAD_ID_HPP_
00036
00037
#define WIN32_LEAN_AND_MEAN
00038
#include <windows.h>
00039
00040
#include <cpp_util_2/h/nocopy.hpp>
00041
00042
#include <threads_1/h/threads.hpp>
00043
00044
namespace threads_1
00045 {
00046
00050
class _os_thread_id_t
00051 {
00052
private :
00053 DWORD m_id;
00054
00055
public :
00057
00060 _os_thread_id_t()
00061 {
00062 m_id = GetCurrentThreadId();
00063 }
00064
00066 _os_thread_id_t(
00067
const _os_thread_id_t & o )
00068 {
00069 (*this) = o;
00070 }
00071
00072 ~
_os_thread_id_t()
00073 {
00074 }
00075
00077 _os_thread_id_t &
00078 operator=(
00079
const _os_thread_id_t & o )
00080 {
00081 m_id = o.m_id;
00082
return *
this;
00083 }
00084
00086
bool
00087 operator==(
const _os_thread_id_t & o )
const
00088
{
00089
return ( m_id == o.m_id );
00090 }
00091
00093
bool
00094 operator!=(
const _os_thread_id_t & o )
const
00095
{
00096
return ( m_id != o.m_id );
00097 }
00098
00100
bool
00101 operator<(
const _os_thread_id_t & o )
const
00102
{
00103
return ( m_id < o.m_id );
00104 }
00105 };
00106
00107
00108 }
00109
00110
#endif