## prelude-hash prelude-hash |

## Synopsis

    typedef             prelude_hash_t;
    int                 prelude_hash_new                    (prelude_hash_t **hash,
                                                             unsigned int (*hash_func) (const void *),
                                                             int (*key_cmp_func) (const void *, const void *),
                                                             void (*key_destroy_func) (void *),
                                                             void (*value_destroy_func) (void *));
    int                 prelude_hash_new2                   (prelude_hash_t **hash,
                                                             size_t size,
                                                             unsigned int (*hash_func) (const void *),
                                                             int (*key_cmp_func) (const void *, const void *),
                                                             void (*key_destroy_func) (void *),
                                                             void (*value_destroy_func) (void *));
    void                prelude_hash_destroy                (prelude_hash_t *hash);
    int                 prelude_hash_set                    (prelude_hash_t *hash,
                                                             void *key,
                                                             void *value);
    void*               prelude_hash_get                    (prelude_hash_t *hash,
                                                             const void *key);
    int                 prelude_hash_elem_destroy           (prelude_hash_t *hash,
                                                             const void *key);
    void                prelude_hash_iterate                (prelude_hash_t *hash,
                                                             void (*cb) (void *data));

## Description

## Details

### prelude_hash_t

    typedef struct prelude_hash prelude_hash_t;

### prelude_hash_new ()

    int                 prelude_hash_new                    (prelude_hash_t **hash,
                                                             unsigned int (*hash_func) (const void *),
                                                             int (*key_cmp_func) (const void *, const void *),
                                                             void (*key_destroy_func) (void *),
                                                             void (*value_destroy_func) (void *));

`hash` : |
`hash_func` : |
`key_cmp_func` : |
`key_destroy_func` : |
`value_destroy_func` : |
Returns : |

### prelude_hash_new2 ()

    int                 prelude_hash_new2                   (prelude_hash_t **hash,
                                                             size_t size,
                                                             unsigned int (*hash_func) (const void *),
                                                             int (*key_cmp_func) (const void *, const void *),
                                                             void (*key_destroy_func) (void *),
                                                             void (*value_destroy_func) (void *));

`hash` : |
`size` : |
`hash_func` : |
`key_cmp_func` : |
`key_destroy_func` : |
`value_destroy_func` : |
Returns : |

### prelude_hash_destroy ()

    void                prelude_hash_destroy                (prelude_hash_t *hash);

`hash` : |

### prelude_hash_set ()

    int                 prelude_hash_set                    (prelude_hash_t *hash,
                                                             void *key,
                                                             void *value);

`hash` : |
`key` : |
`value` : |
Returns : |

### prelude_hash_get ()

    void*               prelude_hash_get                    (prelude_hash_t *hash,
                                                             const void *key);

`hash` : |
`key` : |
Returns : |

### prelude_hash_elem_destroy ()

    int                 prelude_hash_elem_destroy           (prelude_hash_t *hash,
                                                             const void *key);

`hash` : |
`key` : |
Returns : |

### prelude_hash_iterate ()

    void                prelude_hash_iterate                (prelude_hash_t *hash,
                                                             void (*cb) (void *data));

`hash` : |
`cb` : |