warautocounter.cpp

来自「ftpserver very good sample」· C++ 代码 · 共 69 行

CPP
69
字号
#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 + =
减小字号Ctrl + -
显示快捷键?