Changeset 3335

Show
Ignore:
Timestamp:
01/30/10 15:52:29 (7 weeks ago)
Author:
mgray
Message:

Implemented operator<() for ThreadId? for Thread_win32 -- still needs to be implemented for posix and solaris.

Location:
Core/branches/0075_TR_SCRIPTING/Threading
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • Core/branches/0075_TR_SCRIPTING/Threading/I_Thread.hpp

    r3327 r3335  
    9595            virtual bool operator==(const I_NativeThreadId& _otherId) const = 0; 
    9696            virtual bool operator!=(const I_NativeThreadId& _otherId) const = 0; 
     97            virtual bool operator<(const I_NativeThreadId& _otherId) const = 0; 
    9798            virtual I_NativeThreadId* clone() const = 0; 
    9899            virtual std::string toString() const = 0; 
     
    115116        bool      operator== (const ThreadId& _otherId) const {return (m_pNativeThreadId == _otherId.m_pNativeThreadId) || ( m_pNativeThreadId &&  _otherId.m_pNativeThreadId && (*m_pNativeThreadId == *_otherId.m_pNativeThreadId));} 
    116117        bool      operator!= (const ThreadId& _otherId) const {return (m_pNativeThreadId != _otherId.m_pNativeThreadId) && (!m_pNativeThreadId || !_otherId.m_pNativeThreadId || (*m_pNativeThreadId != *_otherId.m_pNativeThreadId));} 
     118        bool      operator<  (const ThreadId& _otherId) const {return (m_pNativeThreadId <  _otherId.m_pNativeThreadId); } 
    117119                  operator std::string ()               const {return m_pNativeThreadId ? m_pNativeThreadId->toString() : "";} 
    118120        std::string toString()                          const {return m_pNativeThreadId ? m_pNativeThreadId->toString() : "";} 
  • Core/branches/0075_TR_SCRIPTING/Threading/src/Thread_win32.cpp

    r3327 r3335  
    2525//-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ 
    2626#ifdef THREADMODEL_WIN32 
     27 
     28#include <assert.h> 
    2729 
    2830#include "Thread_win32.hpp" 
     
    183185 
    184186//-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ 
     187bool 
     188Thread_win32::NativeThreadId_win32::operator <(const I_Thread::ThreadId::I_NativeThreadId& _id) const 
     189{ 
     190    const NativeThreadId_win32* const pNativeThreadId_win32 = dynamic_cast<const NativeThreadId_win32*>(&_id); 
     191    assert(pNativeThreadId_win32 != NULL); 
     192    return (m_nativeThreadId < pNativeThreadId_win32->m_nativeThreadId); 
     193} 
     194 
     195//-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ 
    185196I_Thread::ThreadId::I_NativeThreadId* 
    186197Thread_win32::NativeThreadId_win32::clone() const 
  • Core/branches/0075_TR_SCRIPTING/Threading/src/Thread_win32.hpp

    r3327 r3335  
    8080        virtual bool operator==(const I_NativeThreadId& _otherId) const; 
    8181        virtual bool operator!=(const I_NativeThreadId& _otherId) const; 
     82        virtual bool operator< (const I_NativeThreadId& _otherId) const; 
    8283        virtual I_NativeThreadId* clone() const; 
    8384        virtual std::string toString() const;