]> pd.if.org Git - nbds/blobdiff - test/map_test1.c
generic map iterator interface
[nbds] / test / map_test1.c
index 34d4ba74f17bb3aed31b00a089a2c6ddd546fa99..f380918944c88ab6b1e9ee3b2abc5cc44e9554ae 100644 (file)
@@ -7,6 +7,9 @@
 #include "nstring.h"
 #include "runtime.h"
 #include "map.h"
+#include "list.h"
+#include "skiplist.h"
+#include "hashtable.h"
 
 #define NUM_ITERATIONS 10000000
 
@@ -82,12 +85,12 @@ int main (int argc, char **argv) {
         }
     }
 
-    map_type_t map_types[] = { MAP_TYPE_LIST, MAP_TYPE_SKIPLIST, MAP_TYPE_HASHTABLE };
+    static const map_impl_t *map_types[] = { &ll_map_impl, &sl_map_impl, &ht_map_impl };
     for (int i = 0; i < sizeof(map_types)/sizeof(*map_types); ++i) {
 #ifdef TEST_STRING_KEYS
-        map_ = map_alloc(map_types[i], (cmp_fun_t)ns_cmp, (hash_fun_t)ns_hash, (clone_fun_t)ns_dup);
+        map_ = map_alloc(map_types[i], &DATATYPE_NSTRING);
 #else
-        map_ = map_alloc(map_types[i], NULL, NULL, NULL);
+        map_ = map_alloc(map_types[i], NULL);
 #endif
 
         struct timeval tv1, tv2;