📄 dakcomptrlist.h
字号:
// DakComPtrList.h: interface for the CDakComPtrList class.
//作者:高越 邮箱:darkprince@v.cn
//QQ:1738387 (本人只接受技术探讨以及软件项目合作事宜,其他误扰)
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DAKCOMPTRLIST_H__96C5DBB4_6197_4495_BAB2_889F8C68475E__INCLUDED_)
#define AFX_DAKCOMPTRLIST_H__96C5DBB4_6197_4495_BAB2_889F8C68475E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
struct __DAKPOSITION {};
typedef __DAKPOSITION* DAKPOSITION;
class CDakComPtrList
{
private:
typedef struct _tagPTRNODE
{
_tagPTRNODE* pPrev;
_tagPTRNODE* pNext;
LPVOID pData;
}PTRNODE,*LPPTRNODE;
public:
CDakComPtrList();
virtual ~CDakComPtrList();
CDakComPtrList(long nBlockSize);
long GetCount(void);
DAKPOSITION FindIndex(long nIndex);
DAKPOSITION GetTailPosition(void);
DAKPOSITION GetHeadPosition(void);
LPVOID GetHead(void);
LPVOID GetTail(void);
LPVOID GetAt(DAKPOSITION position);
LPVOID SetAt(DAKPOSITION pos,LPVOID newElement);
LPVOID RemoveAt(DAKPOSITION position);
LPVOID RemoveHead(void);
LPVOID RemoveTail(void);
LPVOID GetNext(DAKPOSITION position);
LPVOID GetPrev(DAKPOSITION position);
void RemoveAll(void);
DAKPOSITION AddTail(LPVOID newElement);
DAKPOSITION AddHead(LPVOID newElement);
DAKPOSITION InsertBefore(DAKPOSITION position,LPVOID newElement);
DAKPOSITION InsertAfter(DAKPOSITION position,LPVOID newElement);
DAKPOSITION Find(LPVOID searchValue,DAKPOSITION startAfter=NULL);
BOOL IsEmpty(void);
private:
DAKPOSITION AllocNewNodes(long nNodeCount,DAKPOSITION posAfterNode);
void ReleaseArr(void);
CDakComPtrList::LPPTRNODE FindNodeByIndex(long nIndex);
private:
LPPTRNODE m_pArrPtrNode;//_PTRNODE array pointer
};
#endif // !defined(AFX_DAKCOMPTRLIST_H__96C5DBB4_6197_4495_BAB2_889F8C68475E__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -