⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dakcomptrlist.h

📁 DarkATLSmtp(SMTP COM 组件原创代码),注册后可在Delphi中发邮件。
💻 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 + -