/*
- * Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
+ * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* @file
* @brief Custom pointer set
* @author Matthias Braun
- * @version $Id$
*
* This implements a set of pointers which allows to specify custom callbacks
- * for comparing and hashing it's elements.
+ * for comparing and hashing its elements.
*/
#include "config.h"
#define ValueType void*
#define NullValue NULL
#define DeletedValue ((void*)-1)
-#define Hash(this,value) this->hash_function(value)
+#define Hash(this,key) this->hash_function(key)
#define KeysEqual(this,key1,key2) this->cmp_function(key1, key2)
+#define SCALAR_RETURN
#define SetRangeEmpty(ptr,size) memset(ptr, 0, (size) * sizeof(cpset_hashset_entry_t))
-#define hashset_init _cpset_init
-#define hashset_init_size _cpset_init_size
+void cpset_init_(cpset_t *self);
+#define hashset_init cpset_init_
+void cpset_init_size_(cpset_t *self, size_t expected_elems);
+#define hashset_init_size cpset_init_size_
#define hashset_destroy cpset_destroy
#define hashset_insert cpset_insert
#define hashset_remove cpset_remove
#define hashset_iterator_next cpset_iterator_next
#define hashset_remove_iterator cpset_remove_iterator
-#include "hashset.c"
+#include "hashset.c.inl"
-void cpset_init(cpset_t *this, cpset_hash_function hash_function,
+void cpset_init(cpset_t *this_, cpset_hash_function hash_function,
cpset_cmp_function cmp_function)
{
- this->hash_function = hash_function;
- this->cmp_function = cmp_function;
- _cpset_init(this);
+ this_->hash_function = hash_function;
+ this_->cmp_function = cmp_function;
+ cpset_init_(this_);
}
-void cpset_init_size(cpset_t *this, cpset_hash_function hash_function,
+void cpset_init_size(cpset_t *this_, cpset_hash_function hash_function,
cpset_cmp_function cmp_function, size_t expected_elems)
{
- this->hash_function = hash_function;
- this->cmp_function = cmp_function;
- _cpset_init_size(this, expected_elems);
+ this_->hash_function = hash_function;
+ this_->cmp_function = cmp_function;
+ cpset_init_size_(this_, expected_elems);
}