]> git.lizzy.rs Git - dragonstd.git/blobdiff - bits/wrappers.h
Add transformers to iterator functions
[dragonstd.git] / bits / wrappers.h
index 60d878444b68676690626f1dfeddf1f81bb124e5..66093a212deec4df5ed56c01b70763cf62f96af2 100644 (file)
@@ -1,32 +1,32 @@
 #define WRAP_NODE_FUNCTIONS(Type, prefix) \
-       void *prefix ## add(Type *self, void *dat, Comparator cmp, Transformer func) \
+       void *prefix ## add(Type *self, void *dat, Comparator cmp, Transformer trans) \
        { \
                Type ## Node **node = prefix ## nfd(self, dat, cmp); \
  \
                if (! *node) \
-                       prefix ## nmk(self, node, func ? func(dat) : dat); \
+                       prefix ## nmk(self, node, trans ? trans(dat) : dat); \
  \
                return (*node)->dat; \
        } \
  \
-       void *prefix ## get(Type *self, void *key, Comparator cmp, Transformer func) \
+       void *prefix ## get(Type *self, void *key, Comparator cmp, Transformer trans) \
        { \
                Type ## Node **node = prefix ## nfd(self, key, cmp); \
  \
                if (! *node) \
                        return NULL; \
  \
-               return func ? func((*node)->dat) : (*node)->dat; \
+               return trans ? trans((*node)->dat) : (*node)->dat; \
        } \
  \
-       void *prefix ## del(Type *self, void *key, Comparator cmp, Transformer func) \
+       void *prefix ## del(Type *self, void *key, Comparator cmp, Transformer trans) \
        { \
                Type ## Node **node = prefix ## nfd(self, key, cmp); \
  \
                if (! *node) \
                        return NULL; \
  \
-               void *dat = func ? func((*node)->dat) : (*node)->dat; \
+               void *dat = trans ? trans((*node)->dat) : (*node)->dat; \
                prefix ## nrm(self, node); \
                return dat; \
        }