Improve comments.

This commit is contained in:
Patrick Pelissier committed 2018-07-04 17:38:48 +02:00
1 parent 9d7fc942f7
commit e23616169b
1 file changed
+35 -20
+35 -20
View File
@@ -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)) \
\