update to recent ProbLog.
This commit is contained in:
94
packages/ProbLog/simplecudd_lfi/pqueue.h
Normal file
94
packages/ProbLog/simplecudd_lfi/pqueue.h
Normal file
@@ -0,0 +1,94 @@
|
||||
/******************************************************************
|
||||
**
|
||||
** QUEUE.H:
|
||||
**
|
||||
** ADT Queue Implementation
|
||||
**
|
||||
** This file is part of Apt Abstract Data Types (ADT)
|
||||
** Copyright (c) 1991 -- Apt Technologies
|
||||
** All rights reserved
|
||||
**
|
||||
******************************************************************/
|
||||
//http://www.koders.com/c/fid7B82D8DDECE4EDC672F17D970458033C4079A615.aspx?s=queue
|
||||
|
||||
/*
|
||||
** This ADT, originally written in 1989, provides a general queue
|
||||
** implementation--in C--which is the equivalent of the Java Vector.
|
||||
*/
|
||||
|
||||
#ifndef QUEUE_H
|
||||
#define QUEUE_H
|
||||
|
||||
/* ---------- Headers */
|
||||
|
||||
#include "apt.h"
|
||||
|
||||
/* ---------- Types */
|
||||
|
||||
typedef struct _QueueItem {
|
||||
void *element;
|
||||
int type;
|
||||
struct _QueueItem *next;
|
||||
} _QueueItem, *QueueItem;
|
||||
|
||||
typedef struct _Queue {
|
||||
struct _QueueItem *head;
|
||||
struct _QueueItem *tail;
|
||||
int size;
|
||||
} _Queue, *Queue;
|
||||
|
||||
/* ---------- Exported Function Prototypes */
|
||||
|
||||
#ifdef __ANSI_C__
|
||||
void QueueApply(Queue, ApplyFunction);
|
||||
void QueueApply1(Queue, void*, ApplyFunction1);
|
||||
void QueueApply2(Queue, void*, void*, ApplyFunction2);
|
||||
void QueueApply3(Queue, void*, void*, void*, ApplyFunction3);
|
||||
void *QueueCAR(Queue);
|
||||
Queue QueueCDR(Queue);
|
||||
void QueueDispose(Queue, DisposeFunction);
|
||||
void *QueueFind(Queue, void*, ComparisonFunction);
|
||||
void *QueueFindAndRemove(Queue, void*, ComparisonFunction);
|
||||
void *QueueFindAndRemoveType(Queue, void*, ComparisonFunction, int);
|
||||
void *QueueFindType(Queue, int);
|
||||
void *QueueFindTypeAndRemove(Queue, int);
|
||||
void *QueueGet(Queue);
|
||||
QueueItem QueueHead(Queue);
|
||||
void *QueueItemElement(QueueItem);
|
||||
int QueueItemType(QueueItem);
|
||||
void *QueueLook(Queue);
|
||||
Queue QueueNew(void);
|
||||
QueueItem QueueNext(QueueItem);
|
||||
void QueuePut(Queue, void*, int);
|
||||
void QueuePutOnPriority(Queue, void*, int, ComparisonFunction);
|
||||
QueueItem QueueSeek(Queue,int);
|
||||
int QueueSize(Queue);
|
||||
QueueItem QueueTail(Queue);
|
||||
#else
|
||||
void QueueApply();
|
||||
void QueueApply1();
|
||||
void QueueApply2();
|
||||
void QueueApply3();
|
||||
void *QueueCAR();
|
||||
Queue QueueCDR();
|
||||
void QueueDispose();
|
||||
void *QueueFind();
|
||||
void *QueueFindAndRemove();
|
||||
void *QueueFindAndRemoveType();
|
||||
void *QueueFindType();
|
||||
void *QueueFindTypeAndRemove();
|
||||
void *QueueGet();
|
||||
QueueItem QueueHead();
|
||||
void *QueueItemElement();
|
||||
int QueueItemType();
|
||||
void *QueueLook();
|
||||
Queue QueueNew();
|
||||
QueueItem QueueNext();
|
||||
void QueuePut();
|
||||
void QueuePutOnPriority();
|
||||
QueueItem QueueSeek();
|
||||
int QueueSize();
|
||||
QueueItem QueueTail();
|
||||
#endif /* __ANSI_C__ */
|
||||
|
||||
#endif /* QUEUE_H */
|
Reference in New Issue
Block a user