Improve comments.
This commit is contained in:
1 parent
9d7fc942f7
commit
e23616169b
1 file changed
+35
-20
@@ -30,26 +30,36 @@
|
||||
#include "m-tuple.h"
|
||||
|
||||
/* Define a dictionary with the key key_type to the value value_type.
|
||||
USAGE: DICT_DEF2(name, key_type[, key_oplist], value_type[, value_oplist])
|
||||
USAGE:
|
||||
DICT_DEF2(name, key_type, key_oplist, value_type, value_oplist)
|
||||
OR
|
||||
DICT_DEF2(name, key_type, value_type)
|
||||
*/
|
||||
#define DICT_DEF2(name, key_type, ...) \
|
||||
DICTI_DEF2(M_IF_NARGS_EQ1(__VA_ARGS__) \
|
||||
((name, key_type, M_GLOBAL_OPLIST_OR_DEF(key_type), __VA_ARGS__, M_GLOBAL_OPLIST_OR_DEF(__VA_ARGS__) ), \
|
||||
(name, key_type, __VA_ARGS__)))
|
||||
DICTI_DEF2_P1(M_IF_NARGS_EQ1(__VA_ARGS__) \
|
||||
((name, key_type, M_GLOBAL_OPLIST_OR_DEF(key_type), __VA_ARGS__, M_GLOBAL_OPLIST_OR_DEF(__VA_ARGS__) ), \
|
||||
(name, key_type, __VA_ARGS__)))
|
||||
|
||||
|
||||
/* Define a dictionary with the key key_type to the value value_type.
|
||||
which stores the computed hash value (avoiding the need of recomputing it).
|
||||
USAGE: DICT_STOREHASH_DEF2(name, key_type[, key_oplist], value_type[, value_oplist])
|
||||
USAGE:
|
||||
DICT_STOREHASH_DEF2(name, key_type[, key_oplist], value_type[, value_oplist])
|
||||
OR
|
||||
DICT_STOREHASH_DEF2(name, key_type[, key_oplist], value_type[, value_oplist])
|
||||
*/
|
||||
#define DICT_STOREHASH_DEF2(name, key_type, ...) \
|
||||
DICTI_SHASH_DEF2(M_IF_NARGS_EQ1(__VA_ARGS__) \
|
||||
((name, key_type, M_GLOBAL_OPLIST_OR_DEF(key_type), __VA_ARGS__, M_GLOBAL_OPLIST_OR_DEF(__VA_ARGS__) ), \
|
||||
(name, key_type, __VA_ARGS__)))
|
||||
DICTI_SHASH_DEF2_P1(M_IF_NARGS_EQ1(__VA_ARGS__) \
|
||||
((name, key_type, M_GLOBAL_OPLIST_OR_DEF(key_type), __VA_ARGS__, M_GLOBAL_OPLIST_OR_DEF(__VA_ARGS__) ), \
|
||||
(name, key_type, __VA_ARGS__)))
|
||||
|
||||
|
||||
/* Define the oplist of a dictionnary.
|
||||
USAGE: DICT_OPLIST(name[, oplist of the key type, oplist of the value type]) */
|
||||
USAGE:
|
||||
DICT_OPLIST(name, oplist of the key type, oplist of the value type)
|
||||
OR
|
||||
DICT_OPLIST(name)
|
||||
*/
|
||||
#define DICT_OPLIST(...) \
|
||||
M_IF_NARGS_EQ1(__VA_ARGS__) \
|
||||
(DICTI_OPLIST(__VA_ARGS__, M_DEFAULT_OPLIST, M_DEFAULT_OPLIST ), \
|
||||
@@ -57,12 +67,12 @@
|
||||
|
||||
|
||||
/* Define a set with the key key_type
|
||||
USAGE: DICT_SET_DEF(name, key_type, key_oplist)
|
||||
USAGE: DICT_SET_DEF(name, key_type[, key_oplist])
|
||||
*/
|
||||
#define DICT_SET_DEF(name, ...) \
|
||||
DICTI_SET_DEF(M_IF_NARGS_EQ1(__VA_ARGS__) \
|
||||
((name, __VA_ARGS__, M_GLOBAL_OPLIST_OR_DEF(__VA_ARGS__), __VA_ARGS__, M_GLOBAL_OPLIST_OR_DEF(__VA_ARGS__) ), \
|
||||
(name, __VA_ARGS__)))
|
||||
DICTI_SET_DEF_P1(M_IF_NARGS_EQ1(__VA_ARGS__) \
|
||||
((name, __VA_ARGS__, M_GLOBAL_OPLIST_OR_DEF(__VA_ARGS__), __VA_ARGS__, M_GLOBAL_OPLIST_OR_DEF(__VA_ARGS__) ), \
|
||||
(name, __VA_ARGS__)))
|
||||
|
||||
|
||||
/* Define the oplist of a dictionnary.
|
||||
@@ -75,7 +85,12 @@
|
||||
|
||||
/* Define a dictionary with the key key_type to the value value_type
|
||||
with an Open Addressing implementation. Same oplist.
|
||||
KEY_OPLIST needs OOR_EQUAL & OOR_SET as methods of the key */
|
||||
KEY_OPLIST needs OOR_EQUAL & OOR_SET as methods of the key.
|
||||
USAGE:
|
||||
DICT_OA_DEF2(name, key_type, key_oplist, value_type, value_oplist)
|
||||
OR
|
||||
DICT_OA_DEF2(name, key_type, value_type)
|
||||
*/
|
||||
#define DICT_OA_DEF2(name, key_type, ...) \
|
||||
DICTI_OA_DEF_P1(M_IF_NARGS_EQ1(__VA_ARGS__) \
|
||||
((name, key_type, M_GLOBAL_OPLIST_OR_DEF(key_type), __VA_ARGS__, M_GLOBAL_OPLIST_OR_DEF(__VA_ARGS__) ), \
|
||||
@@ -88,8 +103,8 @@
|
||||
|
||||
/* Define a dictionary with the key key_type to the value value_type.
|
||||
*/
|
||||
#define DICTI_DEF2(arg) DICTI_DEF2B arg
|
||||
#define DICTI_DEF2B(name, key_type, key_oplist, value_type, value_oplist) \
|
||||
#define DICTI_DEF2_P1(arg) DICTI_DEF2_P2 arg
|
||||
#define DICTI_DEF2_P2(name, key_type, key_oplist, value_type, value_oplist) \
|
||||
\
|
||||
TUPLE_DEF2(M_C(name, _pair), (key, key_type, key_oplist), (value, value_type, value_oplist)) \
|
||||
\
|
||||
@@ -112,8 +127,8 @@
|
||||
/* Define a dictionary with the key key_type to the value value_type.
|
||||
which stores the computed hash value (avoiding the need of recomputing it).
|
||||
*/
|
||||
#define DICTI_SHASH_DEF2(arg) DICTI_SHASH_DEF2B arg
|
||||
#define DICTI_SHASH_DEF2B(name, key_type, key_oplist, value_type, value_oplist) \
|
||||
#define DICTI_SHASH_DEF2_P1(arg) DICTI_SHASH_DEF2_P2 arg
|
||||
#define DICTI_SHASH_DEF2_P2(name, key_type, key_oplist, value_type, value_oplist) \
|
||||
\
|
||||
TUPLE_DEF2(M_C(name, _pair), (hash, size_t, M_DEFAULT_OPLIST), (key, key_type, key_oplist), (value, value_type, value_oplist)) \
|
||||
\
|
||||
@@ -135,8 +150,8 @@
|
||||
|
||||
/* Define a set with the key key_type
|
||||
*/
|
||||
#define DICTI_SET_DEF(arg) DICTI_SET_DEFB arg
|
||||
#define DICTI_SET_DEFB(name, key_type, key_oplist) \
|
||||
#define DICTI_SET_DEF_P1(arg) DICTI_SET_DEF_P2 arg
|
||||
#define DICTI_SET_DEF_P2(name, key_type, key_oplist) \
|
||||
\
|
||||
TUPLE_DEF2(M_C(name, _pair), (key, key_type, key_oplist)) \
|
||||
\
|
||||
|
||||
Reference in new issue
Block a user