Eneboo - Documentación para desarrolladores
|
00001 // -*- C++ -*- 00002 00003 #ifndef _GUARD_H_ 00004 #define _GUARD_H_ 00005 00006 namespace HL { 00007 00008 template <class LockType> 00009 class Guard { 00010 public: 00011 inline Guard (LockType& l) 00012 : _lock (l) 00013 { 00014 _lock.lock(); 00015 } 00016 00017 inline ~Guard (void) { 00018 _lock.unlock(); 00019 } 00020 private: 00021 LockType& _lock; 00022 }; 00023 00024 } 00025 00026 #endif