dakcomptrlist.h
来自「DarkATLSmtp(SMTP COM 组件原创代码),注册后可在Delphi」· C头文件 代码 · 共 57 行
H
57 行
// 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 + =
减小字号Ctrl + -
显示快捷键?