Initial revision
[libfirm] / ir / adt / pdeq.h
1 /* Declarations for pdeq.
2    Copyright (C) 1995, 1996 Christian von Roques */
3
4 #ifndef _PDEQ_H
5 #define _PDEQ_H
6
7 #include "misc.h"
8
9 typedef struct pdeq pdeq;
10
11 pdeq *new_pdeq (void);
12 pdeq *new_pdeq1 (const void *);
13 void del_pdeq (pdeq *);
14 int pdeq_len (pdeq *);
15 bool pdeq_empty (pdeq *);
16 bool pdeq_contains (pdeq *, const void *);
17 void *pdeq_search (pdeq *, cmp_fun cmp, const void *key);
18 void **pdeq_copyl (pdeq *, const void **);
19 void **pdeq_copyr (pdeq *, const void **);
20 pdeq *pdeq_putl (pdeq *, const void *);
21 pdeq *pdeq_putr (pdeq *, const void *);
22 void *pdeq_getl (pdeq *);
23 void *pdeq_getr (pdeq *);
24
25 #ifdef NDEBUG
26 #define PDEQ_VRFY(deq) ((void)0)
27 #else
28 #define PDEQ_VRFY(deq) _pdeq_vrfy ((deq))
29 void _pdeq_vrfy(pdeq *dq);
30 #endif
31
32 #endif