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 Christian von Roques
10 * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
21 typedef struct pdeq pdeq;
23 pdeq *new_pdeq (void);
24 pdeq *new_pdeq1 (const void *);
25 void del_pdeq (pdeq *);
26 int pdeq_len (pdeq *);
27 bool pdeq_empty (pdeq *);
28 bool pdeq_contains (pdeq *, const void *);
29 void *pdeq_search (pdeq *, cmp_fun cmp, const void *key);
30 void **pdeq_copyl (pdeq *, const void **);
31 void **pdeq_copyr (pdeq *, const void **);
32 pdeq *pdeq_putl (pdeq *, const void *);
33 pdeq *pdeq_putr (pdeq *, const void *);
34 void *pdeq_getl (pdeq *);
35 void *pdeq_getr (pdeq *);
38 #define PDEQ_VRFY(deq) ((void)0)
40 #define PDEQ_VRFY(deq) _pdeq_vrfy ((deq))
41 void _pdeq_vrfy(pdeq *dq);