3 * File name: ir/adt/pdeq.h
4 * Purpose: Declarations for pdeq.
5 * Author: Christian von Roques
7 * Created: 1999 by getting from fiasco
9 * Copyright: (c) 1995, 1996 Markus Armbruster
10 * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
20 typedef struct pdeq pdeq;
22 pdeq *new_pdeq (void);
23 pdeq *new_pdeq1 (const void *);
24 void del_pdeq (pdeq *);
25 int pdeq_len (pdeq *);
26 bool pdeq_empty (pdeq *);
27 bool pdeq_contains (pdeq *, const void *);
28 void *pdeq_search (pdeq *, cmp_fun cmp, const void *key);
29 void **pdeq_copyl (pdeq *, const void **);
30 void **pdeq_copyr (pdeq *, const void **);
31 pdeq *pdeq_putl (pdeq *, const void *);
32 pdeq *pdeq_putr (pdeq *, const void *);
33 void *pdeq_getl (pdeq *);
34 void *pdeq_getr (pdeq *);
37 #define PDEQ_VRFY(deq) ((void)0)
39 #define PDEQ_VRFY(deq) _pdeq_vrfy ((deq))
40 void _pdeq_vrfy(pdeq *dq);