]> git.lizzy.rs Git - dragonstd.git/blobdiff - map.h
Rework get,add,del return values
[dragonstd.git] / map.h
diff --git a/map.h b/map.h
index 08d3fd08ab3d56c2b69c89571aa4313335ff204e..b74441caf714e9e368a14bced2fc6a7f6ca95a05 100644 (file)
--- a/map.h
+++ b/map.h
@@ -52,13 +52,13 @@ void map_cnl(Map *map, Iterator iter, void *arg, Transformer trans, TreeTraversi
        If no callback is given, the traversion order is irrelevant.
 */
 
-void *map_add(Map *map, void *dat, Comparator cmp, Transformer trans);
+bool map_add(Map *map, void *dat, Comparator cmp, Transformer trans);
 /*
        [Thread Safe]
        Add an element to the map.
 
-       If an equal element is already in the tree, return it and don't add anything.
-       Otherwise, return added element.
+       If an equal element is already in the map, don't add anything.
+       Return whether an element has been added.
 */
 
 void *map_get(Map *map, void *key, Comparator cmp, Transformer trans);
@@ -67,10 +67,11 @@ void *map_get(Map *map, void *key, Comparator cmp, Transformer trans);
        Get an element from the map, or return NULL if none found.
 */
 
-void *map_del(Map *map, void *key, Comparator cmp, Transformer trans);
+bool map_del(Map *map, void *key, Comparator cmp, Callback call);
 /*
        [Thread Safe]
-       Delete an element from the map and return it, or NULL if none found.
+       Delete an element from the map if it is found.
+       Return whether an element has been deleted.
 */
 
 void map_trv(Map *map, Iterator iter, void *arg, Transformer trans, TreeTraversionOrder order);