From 70179bb1d75b70df5beebb233a073ccfb1c1fa86 Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Sun, 28 Oct 2018 10:33:25 +0100 Subject: [PATCH] Add VALUE_TYPE operator --- m-array.h | 1 + m-bptree.h | 1 + m-core.h | 8 +++++--- m-dict.h | 1 + 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/m-array.h b/m-array.h index 3cf51da4..317fb270 100644 --- a/m-array.h +++ b/m-array.h @@ -77,6 +77,7 @@ ,IT_REMOVE(M_C(name,_remove)) \ ,CLEAN(M_C(name,_clean)) \ ,KEY_TYPE(size_t) \ + ,VALUE_TYPE(M_C(name, _type_t)) \ ,SET_KEY(M_C(name, _set_at)) \ ,GET_KEY(M_C(name, _get)) \ ,M_IF_METHOD(INIT, oplist)(GET_SET_KEY(M_C(name, _get_at)) ,) \ diff --git a/m-bptree.h b/m-bptree.h index 32d9bea3..5771f468 100644 --- a/m-bptree.h +++ b/m-bptree.h @@ -81,6 +81,7 @@ GET_MIN(M_C(name,_min)), \ GET_MAX(M_C(name,_max)), \ KEY_TYPE(M_C(name, _key_type_t)), \ + VALUE_TYPE(M_C(name, _value_type_t)), \ SET_KEY(M_C(name, _set_at)), \ GET_KEY(M_C(name, _get)), \ /*GET_SET_KEY(M_C(name, _get_at))*/, \ diff --git a/m-core.h b/m-core.h index 18bd7fe8..0875911e 100644 --- a/m-core.h +++ b/m-core.h @@ -1785,6 +1785,7 @@ m_core_hash (const void *str, size_t length) #define M_DIV_DIV(a) ,a, #define M_CLEAN_CLEAN(a) ,a, #define M_KEY_TYPE_KEY_TYPE(a) ,a, +#define M_VALUE_TYPE_VALUE_TYPE(a) ,a, #define M_GET_KEY_GET_KEY(a) ,a, #define M_SET_KEY_SET_KEY(a) ,a, #define M_GET_SET_KEY_GET_SET_KEY(a) ,a, @@ -1857,6 +1858,7 @@ m_core_hash (const void *str, size_t length) #define M_GET_DIV(...) M_GET_METHOD(DIV, M_DIV_DEFAULT, __VA_ARGS__) #define M_GET_CLEAN(...) M_GET_METHOD(CLEAN, M_NO_DEFAULT, __VA_ARGS__) #define M_GET_KEY_TYPE(...) M_GET_METHOD(KEY_TYPE, M_NO_DEFAULT, __VA_ARGS__) +#define M_GET_VALUE_TYPE(...) M_GET_METHOD(VALUE_TYPE, M_NO_DEFAULT, __VA_ARGS__) #define M_GET_GET_KEY(...) M_GET_METHOD(GET_KEY, M_NO_DEFAULT, __VA_ARGS__) #define M_GET_SET_KEY(...) M_GET_METHOD(SET_KEY, M_NO_DEFAULT, __VA_ARGS__) #define M_GET_GET_SET_KEY(...) M_GET_METHOD(GET_SET_KEY, M_NO_DEFAULT, __VA_ARGS__) @@ -1921,9 +1923,9 @@ m_core_hash (const void *str, size_t length) #define M_CALL_MUL(oplist, ...) M_APPLY_API(M_GET_MUL oplist, oplist, __VA_ARGS__) #define M_CALL_DIV(oplist, ...) M_APPLY_API(M_GET_DIV oplist, oplist, __VA_ARGS__) #define M_CALL_CLEAN(oplist, ...) M_APPLY_API(M_GET_CLEAN oplist, oplist, __VA_ARGS__) -#define M_CALL_GET_KEY(oplist, ...) M_APPLY_API(M_GET_KEY oplist, oplist, __VA_ARGS__) -#define M_CALL_SET_KEY(oplist, ...) M_APPLY_API(M_SET_KEY oplist, oplist, __VA_ARGS__) -#define M_CALL_GET_SET_KEY(oplist, ...) M_APPLY_API(M_GET_SET_KEY oplist, oplist, __VA_ARGS__) +#define M_CALL_GET_KEY(oplist, ...) M_APPLY_API(M_GET_GET_KEY oplist, oplist, __VA_ARGS__) +#define M_CALL_SET_KEY(oplist, ...) M_APPLY_API(M_GET_SET_KEY oplist, oplist, __VA_ARGS__) +#define M_CALL_GET_SET_KEY(oplist, ...) M_APPLY_API(M_GET_GET_SET_KEY oplist, oplist, __VA_ARGS__) #define M_CALL_ERASE_KEY(oplist, ...) M_APPLY_API(M_GET_ERASE_KEY oplist, oplist, __VA_ARGS__) #define M_CALL_PUSH(oplist, ...) M_APPLY_API(M_GET_PUSH oplist, oplist, __VA_ARGS__) #define M_CALL_POP(oplist, ...) M_APPLY_API(M_GET_POP oplist, oplist, __VA_ARGS__) diff --git a/m-dict.h b/m-dict.h index 4ea208b9..24c017a2 100644 --- a/m-dict.h +++ b/m-dict.h @@ -804,6 +804,7 @@ IT_REF(M_C(name,_ref)), \ IT_CREF(M_C(name,_cref)) \ ,KEY_TYPE(M_C(name, _key_type_t)) \ + ,VALUE_TYPE(M_C(name, _value_type_t)) \ ,SET_KEY(M_C(name, _set_at)) \ ,GET_KEY(M_C(name, _get)) \ ,GET_SET_KEY(M_C(name, _get_at)) \