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

📄 jlistc.h

📁 BREW BREWwinz Application development APIs
💻 H
字号:
// JList.h: interface for the CJinList class.
//
// Original Written by Jin, YongChul 1999. 10. 5
// Reprogrammed For BlueWinz SDK
// anecia@unitel.co.kr
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_JLIST_H__E48F6181_5F84_11D3_A742_00608C85EBA9__INCLUDED_)
#define AFX_JLIST_H__E48F6181_5F84_11D3_A742_00608C85EBA9__INCLUDED_

// must be set 1 only one!
#define WIPI	0
#define WITOP	0
#define BREW	1

#if WIPI
#include "WIPIHeader.h"
#define MALLOC		MC_knlCalloc
#define FREE(a)		MC_knlFree((unsigned long)(a))
#endif

#if WITOP
#include "witop.h"
#define MALLOC		MALLOC
#define FREE(a)		FREE((unsigned long)(a))
#endif

#if BREW
#include "jtypedef.h" //  捞 庆歹颇老篮 BlueWinz SDK 救俊 乐嚼聪促.
#endif


#ifdef WIN32
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#endif // WIN32

#define FAR


//typedef void*  JDataPtr;
#ifndef JDataPtr
#define JDataPtr void*
#endif
typedef struct _JNODE
{
	struct _JNODE* pPrev;
	struct _JNODE* pNext;

	JDataPtr	pData;
} JNODE,* LPJNODE;

typedef struct _MYLIST
{
	//BOOL		bClass;
	int			nNodeCount;
	LPJNODE		lpNodeHead;
	LPJNODE		lpNodeTail;
} MYLIST, FAR* LPMYLIST;

LPMYLIST	CreateList();
void		ReleaseList(LPMYLIST* lppMyList, BOOL bDataDelete);

int			ListGetCount(LPMYLIST lpMyList);
BOOL		ListIsEmpty(LPMYLIST lpMyList);

const
JDataPtr	ListGetHead(LPMYLIST lpMyList);
const
JDataPtr	ListGetTail(LPMYLIST lpMyList);

JDataPtr	ListRemoveHead(LPMYLIST lpMyList, BOOL bDataDelete);
JDataPtr	ListRemoveTail(LPMYLIST lpMyList, BOOL bDataDelete);

LPJNODE		ListAddHead(LPMYLIST lpMyList, JDataPtr pData);
LPJNODE		ListAddTail(LPMYLIST lpMyList, JDataPtr pData);

const
LPJNODE		ListGetHeadPosition(LPMYLIST lpMyList);
const
LPJNODE		ListGetTailPosition(LPMYLIST lpMyList);

const
JDataPtr	ListGetNext(LPMYLIST lpMyList, LPJNODE* lppPosition);
const
JDataPtr	ListGetPrev(LPMYLIST lpMyList, LPJNODE* lppPosition);
const
JDataPtr	ListGetAt(LPMYLIST lpMyList, LPJNODE position);

void		ListSetAt(LPMYLIST lpMyList, LPJNODE pos, JDataPtr newElement, BOOL bDeleteData);
void		ListRemoveAt(LPMYLIST lpMyList, LPJNODE position, BOOL bDeleteData);

LPJNODE		ListInsertBefore(LPMYLIST lpMyList, LPJNODE pos, JDataPtr newElement);
LPJNODE		ListInsertAfter(LPMYLIST lpMyList, LPJNODE pos, JDataPtr newElement);

const
LPJNODE		ListFind(LPMYLIST lpMyList, JDataPtr searchValue, LPJNODE startAfter);
const
LPJNODE		ListFindIndex(LPMYLIST lpMyList, int nIndex);
const
int			ListGetNo(LPMYLIST lpMyList, JDataPtr searchValue, LPJNODE startAfter);

// bDataDelete = FALSE捞搁 府胶飘郴狼 单捞磐甸篮 馆靛矫 delete矫难拎具 茄促.
void		ListRemoveAll(LPMYLIST lpMyList, BOOL bDataDelete);

#endif // !defined(AFX_JLIST_H__E48F6181_5F84_11D3_A742_00608C85EBA9__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -