diff --git a/m-core.h b/m-core.h index ae24057a..3243dc64 100644 --- a/m-core.h +++ b/m-core.h @@ -2628,6 +2628,11 @@ m_core_parse2_enum (const char str[], const char **endptr) #define M_IF_METHOD2(method1, method2, oplist) \ M_IF(M_AND(M_TEST_METHOD_P(method1, oplist), M_TEST_METHOD_P(method2, oplist))) +/* Perform a preprocessing M_IF if at least one method exists in the oplist. + Example: M_IF_AT_LEAST_METHOD(HASH, CMP, oplist) (define function with HASH or CMP method, ) */ +#define M_IF_AT_LEAST_METHOD(method1, method2, oplist) \ + M_IF(M_OR(M_TEST_METHOD_P(method1, oplist), M_TEST_METHOD_P(method2, oplist))) + /* Perform a preprocessing M_IF if both methods exists in both oplist. Example: M_IF_METHOD2_BOTH(HASH, INIT, oplist1, oplist2) (define function with HASH & INIT method, ) */ #define M_IF_METHOD2_BOTH(method1, method2, oplist1, oplist2) \