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