📄 warautocounter.cpp
字号:
#include "StdAfx.h"#include "WarAutoCounter.h" // class implemented/////////////////////////////// PUBLIC ///////////////////////////////////////WAR_CPPT_IMPL WarAutoCounter<war_int8_t>;WAR_CPPT_IMPL WarAutoCounter<war_int16_t>;WAR_CPPT_IMPL WarAutoCounter<war_int32_t>;WAR_CPPT_IMPL WarAutoCounter<war_int64_t>;WAR_CPPT_IMPL WarAutoCounter<war_uint8_t>;WAR_CPPT_IMPL WarAutoCounter<war_uint16_t>;WAR_CPPT_IMPL WarAutoCounter<war_uint32_t>;WAR_CPPT_IMPL WarAutoCounter<war_uint64_t>;#if defined(NEED_TYPE_TEMPLATE) || defined(_MSC_VER) WAR_CPPT_IMPL WarAutoCounter<short>; WAR_CPPT_IMPL WarAutoCounter<int>; WAR_CPPT_IMPL WarAutoCounter<unsigned short>; WAR_CPPT_IMPL WarAutoCounter<unsigned int>;#endif//============================= LIFECYCLE ====================================template <class T>WarAutoCounter<T>::WarAutoCounter<T>(T& rCounterVar, WarCriticalSection *pLock) : mrCounterVar(rCounterVar), mpLock(pLock){ WarAutoLock my_lock(mpLock); mrCounterVar++;}template <class T>WarAutoCounter<T>::WarAutoCounter<T>(T& rCounterVar, WarCriticalSection& rLock) : mrCounterVar(rCounterVar), mpLock(&rLock){ WarAutoLock my_lock(mpLock); mrCounterVar++;}template <class T>WarAutoCounter<T>::~WarAutoCounter<T>(void){ WarAutoLock my_lock(mpLock); mrCounterVar--;}//============================= OPERATORS ====================================template <class T>WarAutoCounter<T>::operator T () const{ WarAutoLock my_lock(mpLock); return mrCounterVar;}//============================= OPERATIONS ===================================//============================= CALLBACK ===================================//============================= ACCESS ===================================//============================= INQUIRY ===================================/////////////////////////////// PROTECTED ////////////////////////////////////////////////////////////////// PRIVATE ///////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -