| 47 | } |
| 48 | |
| 49 | struct hc_memo_alloc *hc_memo_alloc_init(struct hc_memo_alloc *a, |
| 50 | struct hc_malloc *source) { |
| 51 | a->malloc.acquire = memo_acquire; |
| 52 | a->malloc.release = memo_release; |
| 53 | a->source = source; |
| 54 | hc_set_init(&a->memo, &hc_malloc_default, sizeof(struct memo *), memo_cmp); |
| 55 | a->memo.key = memo_key; |
| 56 | return a; |
| 57 | } |
| 58 | |
| 59 | void hc_memo_alloc_deinit(struct hc_memo_alloc *a) { |
| 60 | hc_vector_do(&a->memo.items, _m) { |