提交 aa9a61cc 编写于 作者: A antirez

dict.c: added macros in dict.h to set signed and unsigned 64 bit values...

dict.c: added macros in dict.h to set signed and unsigned 64 bit values directly inside the hash entry without using additional memory.
上级 c0ba9ebe
......@@ -274,7 +274,7 @@ int dictAdd(dict *d, void *key, void *val)
* mainly in order to store non-pointers inside the hash value, example:
*
* entry = dictAddRaw(dict,mykey);
* if (entry != NULL) dictSetValSignedInteger(entry,1000);
* if (entry != NULL) dictSetSignedIntegerVal(entry,1000);
*
* Return values:
*
......
......@@ -105,6 +105,12 @@ typedef struct dictIterator {
entry->v.val = (_val_); \
} while(0)
#define dictSetSignedIntegerVal(d, entry, _val_) \
do { entry->v.i64 = _val_; } while(0)
#define dictSetUnsignedIntegerVal(d, entry, _val_) \
do { entry->v.u64 = _val_; } while(0)
#define dictFreeKey(d, entry) \
if ((d)->type->keyDestructor) \
(d)->type->keyDestructor((d)->privdata, (entry)->key)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册