]>
Commit | Line | Data |
---|---|---|
885824d3 | 1 | /* |
2 | ** This is not a good implementation. I should probably replace | |
3 | ** the erc with a hash table. | |
4 | */ | |
5 | ||
6 | # include "ereftab.h" | |
7 | ||
8 | ereftab ereftab_create (void) | |
9 | { | |
10 | return erc_create (); | |
11 | } | |
12 | ||
13 | void ereftab_insert (ereftab t, employee e, eref er) | |
14 | { | |
15 | eref_assign (er, e); | |
16 | erc_insert (t, er); | |
17 | } | |
18 | ||
19 | bool ereftab_delete (ereftab t, eref er) | |
20 | { | |
21 | bool result; | |
22 | ||
23 | result = erc_member (er, t); | |
24 | erc_delete (t, er); | |
25 | return result; | |
26 | } | |
27 | ||
28 | eref ereftab_lookup (employee e, ereftab t) | |
29 | { | |
30 | eref er; | |
31 | employee e1; | |
32 | ercIter it; | |
33 | ||
34 | for_ercElems (er, it, t) | |
35 | { | |
36 | e1 = eref_get (er); | |
37 | if (employee_equal (&e, &e1)) return er; | |
38 | } | |
39 | ||
40 | return erefNIL; | |
41 | } | |
42 | ||
43 | void ereftab_initMod (void) | |
44 | { | |
45 | bool_initMod (); | |
46 | eref_initMod (); | |
47 | erc_initMod (); | |
48 | } | |
49 |