📄 warautolock.h
字号:
/** @name Simple generic therad sync lock object * * * \begin{verbatim} * SafeFunc() * { * WarAutoLock Lock(SomeCriticalSectionObject); * ... * } * * * #include "WarAutoLock.h" <BR> * -llib * * * * @see something */#ifndef WAR_AUTO_LOCK_H#define WAR_AUTO_LOCK_H/* SYSTEM INCLUDES *//* PROJECT INCLUDES */#ifndef WAR_CRITICAL_SECTION_H# include "WarCriticalSection.h"#endif/* LOCAL INCLUDES *//* FORWARD REFERENCES */#ifdef __cplusplusextern "C" {#endif/****************** BEGIN OLD STYLE C spesific ********//****************** END OLD STYLE C spesific **********/#ifdef __cplusplus }#endif/****************** BEGIN C++ spesific ****************/#ifdef __cplusplusclass WarAutoLock {public: // LIFECYCLE /** * Default constructor. */ inline WarAutoLock(WarCriticalSection& rLock) : mpLock(&rLock) { mpLock->Lock(); } inline WarAutoLock(WarCriticalSection *pLock) : mpLock(pLock) { if (pLock) mpLock->Lock(); } /** * Destructor. */ inline ~WarAutoLock(void) { if (mpLock) mpLock->Unlock(); }protected:private: WarCriticalSection *mpLock;};/* INLINE METHODS *//* EXTERNAL REFERENCES */#endif /* __cplusplus *//****************** END C++ spesific ******************/#endif /* _WAR_AUTO_LOCK_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -