Files
2014-08-20 16:15:02 +08:00

41 lines
608 B
C++

/********************************************************************
created: 2014/04/01
filename: ScopeLock.h
author: 王少培
purpose:
*********************************************************************/
#ifndef __SCOPELOCK_H__
#define __SCOPELOCK_H__
class Lock
{
public:
Lock() {}
virtual ~Lock() {}
public:
virtual void enter() = 0;
virtual void leave() = 0;
};
class ScopeLock
{
public:
ScopeLock(Lock& lock) : mLock(lock)
{
mLock.enter();
}
~ScopeLock()
{
mLock.leave();
}
private:
Lock& mLock;
};
#endif //__SCOPELOCK_H__