📄 listing.h
字号:
#ifndef _LISTING_H_
#define _LISTING_H_
#define ADD_LISTING_LOOP(a , b) { (a)++ ; (b) = (b)->pNext ;}
#define SUB_LISTING_LOOP(a , b) { (a)-- ; (b) = (b)->pPrev ;}
typedef struct tagListing LISTING;
typedef struct tagListing
{
LISTING* pPrev;
LISTING* pNext;
void far* pUser;
}LISTING,*LPLISTING;
typedef struct tagListingBoot
{
LISTING* pHead;
LISTING* pHeal;
int nLength;
}LISTINGBOOT;
BOOL InitListing(LISTING* pListing);
class CListManager
{
private:
LISTINGBOOT m_Root;
void far (*m_pDeleteFc)(void far*);
int far (*m_pCompareFc)(void far*,void far*);
private:
BOOL DeleteNode(void* pNode , BOOL bUser);
public:
int GetLength(){ return(m_Root.nLength);}
LISTING* GetHead(){return(m_Root.pHead);}
LISTING* GetHeal(){return(m_Root.pHeal);}
static void InitNode(LISTING* pNode);
void SetDeleteFc(void far (*pFc)(void far*)){ m_pDeleteFc = pFc;}
void SetCompareFc(int far (*pFc)(void far*,void far *)){ m_pCompareFc = pFc;}
BOOL AddHead(LISTING* pListing);
BOOL AddHeal(LISTING* pListing);
BOOL AddUserToTail(void* pUser);
BOOL DeleteHead();
BOOL DeleteHeal();
BOOL DeleteAllNode();
BOOL DeleteUser(void* pUser);
BOOL DeleteNode(LISTING* pNode);
BOOL DeleteNode(int nIndex);
LISTING* GetNode(int nIndex);
void* GetUser(int nIndex);
LISTING* Find(void far *pUser,int nSign = 0);
public:
CListManager();
~CListManager();
};
BOOL InitListing(LISTING* pListing);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -