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

📄 list.hpp

📁 使用ASPI包装成的一些通用类
💻 HPP
字号:
////////////////////////////////////////////////////////////
//
// Module LIST.HPP
//
// ASPI class library
// Linked list support
//
// Project: A Programmer's Guide to SCSI
//
// Copyright (C) 1997, Brian Sawert
// Portions copyright (C) 1995, Larry Martin
// All rights reserved
//
////////////////////////////////////////////////////////////


#ifndef LIST_HPP_INCLUDED
#define LIST_HPP_INCLUDED


class ItemLink
   {
   public:
   ItemLink *next;
   ItemLink *prev;
   void *item;

   ItemLink();
   ItemLink(void *item);

   void *GetItem();

   void PrependLink(ItemLink *newlink);
   void AppendLink(ItemLink *newlink);
   void Unlink();

   ItemLink *GetNextLink();
   ItemLink *GetPrevLink();
   };


class ItemList
   {
   public:
   ItemLink Link;

   ItemList();
   ~ItemList();

   int IsEmpty();

   ItemLink *GetFirstLink();
   ItemLink *GetLastLink();

   void *ItemList::GetFirstItem();
   void *ItemList::GetLastItem();

   int AddItem(void *p);
   int RemoveItem(void *p);
   int IsMember(void *p);
   };

class ItemListIterator
   {
   public:
   ItemList *List;
   ItemLink *Current;

   ItemListIterator();
   ItemListIterator(ItemList *list);

   void *GetFirst(ItemList *list = NULL);
   void *GetCurrent();
   void *IterateToNext();
   };



#endif   /* LIST_HPP_INCLUDED */


⌨️ 快捷键说明

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