home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Windows Gam…ming Gurus (2nd Edition)
/
Disc2.iso
/
vc98
/
include
/
queue.h
< prev
next >
Wrap
C/C++ Source or Header
|
1998-04-25
|
2KB
|
59 lines
//=============================================================================
// Microsoft (R) Bloodhound (tm). Copyright (C) 1991-1993.
//
// MODULE: queue.h
//
// Modification History
//
// raypa 03/17/93 Created.
//=============================================================================
#if !defined(_QUEUE_)
#include "list.h"
#define _QUEUE_
#pragma pack(1)
//=============================================================================
// Macros.
//=============================================================================
typedef LIST QUEUE; //... Queue is a special list.
typedef QUEUE *LPQUEUE;
//=============================================================================
// Macros.
//=============================================================================
#ifndef NO_INLINE
#define GetQueueHead(Queue) ((LPVOID) (((LPQUEUE) (Queue))->Head))
#define GetQueueTail(Queue) ((LPVOID) (((LPQUEUE) (Queue))->Tail))
#define GetQueueLength(Queue) (((LPQUEUE) (Queue))->Length)
#define AddToFrontOfList(List, Link) AddToList((List), NULL, (Link))
#define AddToEndOfList(List, Link) AddToList((List), (Link), NULL)
#define DeleteFromFrontOfList(List) DeleteFromList((List), GetHeadOfList(List))
#define DeleteFromEndOfList(List) DeleteFromList((List), GetTailOfList(List))
#define InitializeQueue(Queue) InitializeList(Queue)
#define Enqueue(Queue, Link) AddToEndOfList(Queue, Link)
#define Requeue(Queue, Link) AddToFrontOfList(Queue, Link)
#define Dequeue(Queue) ((LPVOID) DeleteFromFrontOfList(Queue))
#endif
#pragma pack()
#endif