hashlist.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include "collection.h"
#include "log.h"
#include "common.h"
#include "hashlist.h"
#include "linked_list.h"
#include "config.h"

Go to the source code of this file.
void * cp_hashlist_remove_by_option (cp_hashlist *list, void *key, int mode)

Defines

#define CP_HASHLIST_MULTIPLE_VALUES   1

Functions

int cp_hashlist_txlock (cp_hashlist *list, int type)
int cp_hashlist_txunlock (cp_hashlist *list)
cp_hashlistcp_hashlist_create_by_option (int mode, unsigned long size_hint, cp_hashfunction hash_fn, cp_compare_fn compare_fn, cp_copy_fn copy_key, cp_destructor_fn free_key, cp_copy_fn copy_value, cp_destructor_fn free_value)
cp_hashlistcp_hashlist_create_by_mode (int mode, unsigned long size_hint, cp_hashfunction hash_fn, cp_compare_fn compare_fn)
void cp_hashlist_destroy (cp_hashlist *list)
void cp_hashlist_destroy_deep (cp_hashlist *list)
void cp_hashlist_destroy_by_option (cp_hashlist *list, int mode)
void cp_hashlist_destroy_custom (cp_hashlist *list, cp_destructor_fn dk, cp_destructor_fn dv)
int cp_hashlist_callback (cp_hashlist *list, int(*cb)(void *key, void *value, void *id), void *id)
int cp_hashlist_get_mode (cp_hashlist *list)
int cp_hashlist_set_mode (cp_hashlist *list, int mode)
int cp_hashlist_unset_mode (cp_hashlist *list, int mode)
int cp_hashlist_set_min_size (cp_hashlist *list, unsigned long min_size)
int cp_hashlist_set_max_fill_factor (cp_hashlist *list, int fill_factor)
int cp_hashlist_set_min_fill_factor (cp_hashlist *list, int fill_factor)
void * cp_hashlist_resize_nosync (cp_hashlist *list, unsigned long new_size)
void * cp_hashlist_append (cp_hashlist *list, void *key, void *value)
int cp_hashlist_contains (cp_hashlist *list, void *key)
void * cp_hashlist_append_by_option (cp_hashlist *list, void *key, void *value, int mode)
void * cp_hashlist_insert (cp_hashlist *list, void *key, void *value)
void * cp_hashlist_insert_by_option (cp_hashlist *list, void *key, void *value, int mode)
void * cp_hashlist_get (cp_hashlist *list, void *key)
void * cp_hashlist_remove (cp_hashlist *list, void *key)
void * cp_hashlist_remove_deep (cp_hashlist *list, void *key)
void * cp_hashlist_get_head (cp_hashlist *list)
void * cp_hashlist_get_tail (cp_hashlist *list)
void * cp_hashlist_remove_head (cp_hashlist *list)
void * cp_hashlist_remove_head_by_option (cp_hashlist *list, int mode)
void * cp_hashlist_remove_tail (cp_hashlist *list)
void * cp_hashlist_remove_tail_by_option (cp_hashlist *list, int mode)
unsigned long cp_hashlist_item_count (cp_hashlist *list)
int cp_hashlist_lock_internal (cp_hashlist *list, int lock_mode)
int cp_hashlist_unlock_internal (cp_hashlist *list)
int cp_hashlist_lock (cp_hashlist *list, int type)
int cp_hashlist_unlock (cp_hashlist *list)
void * cp_hashlist_entry_get_key (cp_hashlist_entry *entry)
void * cp_hashlist_entry_get_value (cp_hashlist_entry *entry)
int cp_hashlist_is_empty (cp_hashlist *list)
cp_hashlist_iteratorcp_hashlist_create_iterator (cp_hashlist *list, int type)
int cp_hashlist_iterator_init (cp_hashlist_iterator *iterator, cp_hashlist *list, int type)
int cp_hashlist_iterator_head (cp_hashlist_iterator *iterator)
int cp_hashlist_iterator_tail (cp_hashlist_iterator *iterator)
int cp_hashlist_iterator_init_tail (cp_hashlist_iterator *iterator, cp_hashlist *list, int type)
int cp_hashlist_iterator_to_key (cp_hashlist_iterator *iterator, void *key)
int cp_hashlist_iterator_release (cp_hashlist_iterator *iterator)
int cp_hashlist_iterator_destroy (cp_hashlist_iterator *iterator)
cp_hashlist_entry * cp_hashlist_iterator_next (cp_hashlist_iterator *iterator)
void * cp_hashlist_iterator_next_key (cp_hashlist_iterator *iterator)
void * cp_hashlist_iterator_next_value (cp_hashlist_iterator *iterator)
cp_hashlist_entry * cp_hashlist_iterator_prev (cp_hashlist_iterator *iterator)
void * cp_hashlist_iterator_prev_key (cp_hashlist_iterator *iterator)
void * cp_hashlist_iterator_prev_value (cp_hashlist_iterator *iterator)
cp_hashlist_entry * cp_hashlist_iterator_curr (cp_hashlist_iterator *iterator)
void * cp_hashlist_iterator_curr_key (cp_hashlist_iterator *iterator)
void * cp_hashlist_iterator_curr_value (cp_hashlist_iterator *iterator)
cp_hashlist_entry * cp_hashlist_iterator_insert (cp_hashlist_iterator *iterator, void *key, void *value)
cp_hashlist_entry * cp_hashlist_iterator_append (cp_hashlist_iterator *iterator, void *key, void *value)
void * cp_hashlist_iterator_remove (cp_hashlist_iterator *iterator)


Detailed Description

Implementation for cp_hashlist Collection with linked elements and hash key and with cp_hashlist_iterator.

Definition in file hashlist.c.


Generated on Mon Dec 5 23:00:22 2011 for cprops by  doxygen 1.4.7