📄 ser_alloc.h
字号:
// File name: $Workfile: ser_alloc.h $
// Last modified: $Modtime: 2/09/98 12:08p $
// Last modified by: $Author: Rob $
//
// VCS archive path: $Archive: /Hank/DMM/FirmWare/Level3/ObDatMgr/ser_alloc.h $
// VCS revision: $Revision: 3 $
#ifndef PQALLOC_INC
#define PQALLOC_INC
//#define bool short
//#define DWORD unsigned long
//#define TRUE 1
//#define FALSE 0
struct MemNode;
class PQAlloc
{
private:
void LinkIn (void * obj, size_t siz);
int LinkOut(void * obj);
MemNode * pmemFirst;
MemNode * pmemLast;
protected:
public:
PQAlloc();
~PQAlloc();
void Initialize();
void Reinitialize(long offset = 0L);
bool bShowMessage;
long lMemTotal; // Total size of objects managed in allocator
long idxFilePosition; // next available position in pseudo file
long idxOffset; // Offset to be added to the idx
// parameter returned by allocate
// Used to allow resetting allocators
// but return correct file offset
void *allocate(size_t siz);
void *allocate(size_t siz, long &idx);
// Routines to add specific PQDIF elements
c_collection_element * addCollection
(
UINT4 count,
long & idx,
SIZE4& size
);
c_collection_element * addCollection
(
UINT4 count,
long & idx,
SIZE4& size,
const GUID& tag,
c_collection_element& ce
);
bool addScalarValue
(
long typePhysical,
PQDIFValue value,
long & idx,
SIZE4& size,
const GUID& tag,
c_collection_element& ce
);
bool addVectorValue
(
long typePhysical,
long count,
BYTE * values,
long & idx,
SIZE4& size,
const GUID & tag,
c_collection_element& ce
);
static bool convertValue
(
long typePhysical,
PQDIFValue value,
BYTE * pdata
);
void deallocate(void * obj);
long WriteListToFile(FILE *pf);
long WriteListToStream( CPQDIF_StreamIO *pf );
void WalkList();
void DestroyList();
};
extern int cdecl AuxPrint (char *szFormat,...);
extern int cdecl DebugPrint (char *szFormat,...);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -