Adding default value for LIMITS
enabling to avoid defining then for all types.
This commit is contained in:
1 parent
603c92cd0e
commit
74202d52b3
1 file changed
+15
-1
@@ -2713,7 +2713,7 @@ static inline size_t m_core_cstr_hash(const char str[])
|
|||||||
#define M_GET_INC_ALLOC(...) M_GET_METHOD(INC_ALLOC, M_INC_ALLOC_DEFAULT, __VA_ARGS__)
|
#define M_GET_INC_ALLOC(...) M_GET_METHOD(INC_ALLOC, M_INC_ALLOC_DEFAULT, __VA_ARGS__)
|
||||||
#define M_GET_OOR_SET(...) M_GET_METHOD(OOR_SET, M_NO_DEFAULT, __VA_ARGS__)
|
#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_OOR_EQUAL(...) M_GET_METHOD(OOR_EQUAL, M_NO_DEFAULT, __VA_ARGS__)
|
||||||
#define M_GET_LIMITS(...) M_GET_METHOD(LIMITS, M_NO_DEFAULT, __VA_ARGS__)
|
#define M_GET_LIMITS(...) M_GET_METHOD(LIMITS, M_LIMITS_DEFAULT, __VA_ARGS__)
|
||||||
|
|
||||||
// Calling method with support of defined transformation API
|
// Calling method with support of defined transformation API
|
||||||
// operators that are not methods are commented
|
// operators that are not methods are commented
|
||||||
@@ -2927,6 +2927,20 @@ static inline size_t m_core_cstr_hash(const char str[])
|
|||||||
#define M_NO_EXT_ALGO(n,co,to)
|
#define M_NO_EXT_ALGO(n,co,to)
|
||||||
#define M_INC_ALLOC_DEFAULT(n) (M_MAX(8, (n))*2)
|
#define M_INC_ALLOC_DEFAULT(n) (M_MAX(8, (n))*2)
|
||||||
|
|
||||||
|
/* Define the default limits:
|
||||||
|
* - default maximum size of the basic type in "limb"
|
||||||
|
* - default maximum size of the iterator type in "limb"
|
||||||
|
* - default type for IT_REF (0: classic, 2: struct of { key_ptr, value_ptr} )
|
||||||
|
* The default are fine for a lot of container except:
|
||||||
|
* - dequee (basic type is bigger)
|
||||||
|
* - rbtree
|
||||||
|
* - B+Tree (it_ref is 2)
|
||||||
|
*/
|
||||||
|
#define M_LIMIT_BASE_TYPE_DFT 6
|
||||||
|
#define M_LIMIT_IT_TYPE_DFT 4
|
||||||
|
#define M_LIMIT_IT_REF_DFT 0
|
||||||
|
#define M_LIMITS_DEFAULT ( M_LIMIT_BASE_TYPE_DFT, M_LIMIT_IT_TYPE_DFT, M_LIMIT_IT_REF_DFT)
|
||||||
|
|
||||||
/* NOTE: Theses operators are NOT compatible with the '[1]' tricks
|
/* NOTE: Theses operators are NOT compatible with the '[1]' tricks
|
||||||
if the variable is defined as a parameter of a function
|
if the variable is defined as a parameter of a function
|
||||||
(sizeof (a) is not portable). */
|
(sizeof (a) is not portable). */
|
||||||
|
|||||||
Reference in new issue
Block a user