From 9baca8482502ccb507c9ce57fcadc9f2a9416f8c Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Wed, 30 Mar 2022 23:11:07 +0200 Subject: [PATCH] Add operator EMPLACE_TYPE, to be used by future emplace methods --- m-core.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/m-core.h b/m-core.h index b10bb30d..3e83cf34 100644 --- a/m-core.h +++ b/m-core.h @@ -2802,6 +2802,7 @@ static inline size_t m_core_cstr_hash(const char str[]) #define M_OOR_EQUAL_OOR_EQUAL(a) ,a, #define M_LIMITS_LIMITS(a) ,a, #define M_PROPERTIES_PROPERTIES(a) ,a, +#define M_EMPLACE_TYPE_EMPLACE_TYPE(a) ,a, // Properties only #define M_LET_AS_INIT_WITH_LET_AS_INIT_WITH(a) ,a, @@ -2885,7 +2886,8 @@ static inline size_t m_core_cstr_hash(const char str[]) #define M_GET_OOR_SET(...) M_GET_METHOD(OOR_SET, M_NO_DEFAULT, __VA_ARGS__) #define M_GET_OOR_EQUAL(...) M_GET_METHOD(OOR_EQUAL, M_NO_DEFAULT, __VA_ARGS__) #define M_GET_LIMITS(...) M_GET_METHOD(LIMITS, M_LIMITS_DEFAULT, __VA_ARGS__) -#define M_GET_PROPERTIES(...) M_GET_METHOD(PROPERTIES, (), __VA_ARGS__) +#define M_GET_PROPERTIES(...) M_GET_METHOD(PROPERTIES, (), __VA_ARGS__) +#define M_GET_EMPLACE_TYPE(...) M_GET_METHOD(EMPLACE_TYPE, M_NO_DEFAULT, __VA_ARGS__) // Calling method with support of defined transformation API // operators that are not methods are commented @@ -2956,6 +2958,7 @@ static inline size_t m_core_cstr_hash(const char str[]) #define M_CALL_OOR_EQUAL(oplist, ...) M_APPLY_API(M_GET_OOR_EQUAL oplist, oplist, __VA_ARGS__) //#define M_CALL_LIMITS(oplist, ...) M_APPLY_API(M_GET_LIMITS oplist, oplist, __VA_ARGS__) //#define M_CALL_PROPERTIES(oplist, ...) M_APPLY_API(M_GET_PROPERTIES oplist, oplist, __VA_ARGS__) +//#define M_CALL_EMPLACE_TYPE(oplist, ...) M_APPLY_API(M_GET_EMPLACE_TYPE oplist, oplist, __VA_ARGS__) /* API transformation support: @@ -2968,7 +2971,7 @@ static inline size_t m_core_cstr_hash(const char str[]) #define M_APPLY_API(method, oplist, ...) \ M_RET_ARG3( , M_C(M_OPLAPI_INDIRECT_, method)(M_C(M_OPLAPI_EXTRACT_,method),oplist,__VA_ARGS__), method(__VA_ARGS__),) -/* API Transformation : +/* Pre-defined API Transformation : 0: Method has been disable. It shall not be called. Raised an error. API_0: default, API_1: oplist given, API_2: by addr for first argument, API_3: oplist given,