itable.h

Go to the documentation of this file.
00001 /*
00002 Copyright (C) 2003-2004 Douglas Thain and the University of Wisconsin
00003 Copyright (C) 2005- The University of Notre Dame
00004 This software is distributed under the GNU General Public License.
00005 See the file COPYING for details.
00006 */
00007 
00008 #ifndef ITABLE_H
00009 #define ITABLE_H
00010 
00011 #include "int_sizes.h"
00012 
00047 struct itable *itable_create(int buckets);
00048 
00054 void itable_delete(struct itable *h);
00055 
00061 int itable_size(struct itable *h);
00062 
00073 int itable_insert(struct itable *h, UINT64_T key, const void *value);
00074 
00081 void *itable_lookup(struct itable *h, UINT64_T key);
00082 
00089 void *itable_remove(struct itable *h, UINT64_T key);
00090 
00098 void itable_firstkey(struct itable *h);
00099 
00108 int itable_nextkey(struct itable *h, UINT64_T * key, void **value);
00109 
00110 #endif