#include "xscopedlock.h" #include "tthread.h" using namespace TThread; class XScopedLock::Imp { ScopedLock *m_scopedLock; static Mutex m_mutex; public: Imp() : m_scopedLock(new ScopedLock(m_mutex)) {} ~Imp() { delete m_scopedLock; } }; //--------------------------------------------------------------------------- Mutex XScopedLock::Imp::m_mutex; //--------------------------------------------------------------------------- XScopedLock::XScopedLock() : m_imp(new Imp) {} //--------------------------------------------------------------------------- XScopedLock::~XScopedLock() { delete m_imp; } //---------------------------------------------------------------------------