staticlocation.h
来自「symbian 3rd下的单元测试工具 里面包括一个框架 一个实例程序 还有使用」· C头文件 代码 · 共 37 行
H
37 行
/*
Copyright (c) 2003-2006, Penrillian Ltd. All rights reserved
Web: www.penrillian.com
*/
#ifndef _STATIC_LOCATION_H
#define _STATIC_LOCATION_H
#include <coemain.h>
/**
Magic class to implement static variables
e.g.
static CLoggerStaticData& StaticDataL()
{ return CStaticLocation<CLoggerStaticData, KUidPenrillianLogger>::GetL(); }
*/
template <class TYPE, TInt UID> class CStaticLocation: public CCoeStatic
{
TYPE iLocation;
CStaticLocation() : CCoeStatic( TUid::Uid(UID) ) {}
public:
/**
Answer a location to hold a static variable of type TYPE.
UID must be a unique ID (preferably allocated by Symbian).
*/
static TYPE& GetL()
{
CStaticLocation<TYPE, UID>* staticData = static_cast<CStaticLocation<TYPE, UID>* >(CCoeEnv::Static(TUid::Uid(UID)));
if (staticData)
return staticData->iLocation;
staticData = new (ELeave) CStaticLocation<TYPE, UID>;
return staticData->iLocation;
}
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?