iceinstrumenttrace.h
来自「使用stl技术,(还没看,是听说的)」· C头文件 代码 · 共 34 行
H
34 行
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Include Guard
#ifndef __ICEINSTRUMENTTRACE_H__
#define __ICEINSTRUMENTTRACE_H__
class ICECORE_API InstrumentTrace
{
#ifndef NO_INSTRUMENTATION
private:
bool dataLinked;
void* data;
void LinkData();
// Public interface.
public:
inline_ InstrumentTrace(): dataLinked(false), data(0) {} // Public constructor.
inline_ ~InstrumentTrace() {} // Public destructor.
inline_ void Set(int i, void *_data, int size) { if (!dataLinked) LinkData(); if (data) memcpy((int*)data + i, _data, size); }
inline_ void Set(int i, int val) { if (!dataLinked) LinkData(); if (data) ((int*)data)[i] = val; }
inline_ int Get(int i) { if (!dataLinked) LinkData(); if (data) return ((int*)data)[i]; else return 0; }
#else
public:
inline_ void Set(int i, void *data, int size) {}
inline_ void Set(int i, int val) {}
inline_ int Get(int i) { return 0; }
#endif
};
#endif // __ICEINSTRUMENTTRACE_H__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?