Add operator EMPLACE_TYPE, to be used by future emplace methods

This commit is contained in:
Patrick Pelissier committed 2022-03-30 23:11:07 +02:00
1 parent 58538e4822
commit 9baca84825
1 file changed
+5 -2
+5 -2
View File
@@ -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,