instlist.h

来自「这是一个非常规范的文档编辑器」· C头文件 代码 · 共 99 行

H
99
字号
//---------------------------------------------------------
/*
File name:	InstList.h
Comments:	This file contains the definitions needed to
			use the instance_list type. An instance list
			is declared and initialized using the
			DeclareInstanceList() macro.
*/
//---------------------------------------------------------

#ifndef INSTLIST_H
#define INSTLIST_H

//---------------------------------------------------------
//Enumerated types

typedef enum
{
	ILE_NO_ERROR,
	ILE_CANT_ALLOCATE_LIST,
	ILE_ITEM_NOT_FOUND,
	ITEM_IDENTIFIER_OUT_OF_RANGE
}instance_list_error;

//End enumerated types
//---------------------------------------------------------



//---------------------------------------------------------
//Type definitions

typedef int instance_list_size;

typedef instance_list_size instance_identifier;

typedef void * instance_list_item;

typedef struct
{
	instance_list_item *itemArray;
	instance_list_size listLength;
	instance_list_error errorStatus;
}instance_list;

//End type definitons
//---------------------------------------------------------




//---------------------------------------------------------
//Macros

//Use this macro to declare and initialize a list.
#define DeclareInstanceList(listName)			\
			static instance_list  listName = {		\
									    NULL,	\
									    0,		\
									    ILE_NO_ERROR}

//End Macros
//----------------------------------------------------------




//----------------------------------------------------------
//Prototypes

instance_identifier InstanceListAddItem(
						instance_list *theList,
						instance_list_item theItem);
						
instance_list_item InstanceListGetItem(
						instance_list *theList,
						instance_identifier itemID);

instance_list_size InstanceListGetLength(instance_list *theList);
						
instance_list_item InstanceListRemoveItem(
						instance_list *theList,
						instance_identifier itemID);
						
instance_list_error InstanceListGetLastError(
						instance_list *theList);
						
void InstanceListClearError(instance_list *theList);


//End prototypes
//-------------------------------------------------------

#endif

//End InstList.h
//-------------------------------------------------------

⌨️ 快捷键说明

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