## prelude-hash

prelude-hash

## Synopsis

    typedef             prelude_hash_t;
    int                 prelude_hash_new                    (prelude_hash_t **hash,
                                                             unsigned int (hash_funcconst void *) (),
                                                             int (key_cmp_funcconst void *, const void *) (),
                                                             void (key_destroy_funcvoid *) (),
                                                             void (value_destroy_funcvoid *) ());
    int                 prelude_hash_new2                   (prelude_hash_t **hash,
                                                             size_t size,
                                                             unsigned int (hash_funcconst void *) (),
                                                             int (key_cmp_funcconst void *, const void *) (),
                                                             void (key_destroy_funcvoid *) (),
                                                             void (value_destroy_funcvoid *) ());
    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 (cbvoid *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_funcconst void *) (),
                                                             int (key_cmp_funcconst void *, const void *) (),
                                                             void (key_destroy_funcvoid *) (),
                                                             void (value_destroy_funcvoid *) ());

`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_funcconst void *) (),
                                                             int (key_cmp_funcconst void *, const void *) (),
                                                             void (key_destroy_funcvoid *) (),
                                                             void (value_destroy_funcvoid *) ());

`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 (cbvoid *data) ());

`hash` : |
`cb` : |