Update
This commit is contained in:
1 parent
219c62ff5d
commit
a09c9fe1c3
1 file changed
+23
-4
+23
-4
@@ -9,7 +9,27 @@ and an implementation only for the source code.
|
|||||||
Try to keep API compatibility
|
Try to keep API compatibility
|
||||||
==> Only modify renamed macro with M_ prefix by giving a new mandatory
|
==> Only modify renamed macro with M_ prefix by giving a new mandatory
|
||||||
argument for such generation.
|
argument for such generation.
|
||||||
|
|
||||||
|
This argument is a generation parametric argument.
|
||||||
|
oplist is a parameter that define the property of the contained type.
|
||||||
|
It could be used to pass this information but it will be an abuse of interface.
|
||||||
|
Another argument is needed.
|
||||||
|
|
||||||
|
Used arguments to parameter generation not related to the contained type:
|
||||||
|
|
||||||
|
- memory interface (NEW / DEL / ...)
|
||||||
|
- queue policy
|
||||||
|
- fixed size for queue
|
||||||
|
- generate static inline, public (extern) or private (define) functions.
|
||||||
|
- name of the type.
|
||||||
|
- name of the iterator
|
||||||
|
- name of the iterated element.
|
||||||
|
- ...
|
||||||
|
|
||||||
|
Use another oplist as argument for M_.._DEF_AS?
|
||||||
|
|
||||||
|
M_BUFFER_DEF_AS(name, (TYPE(toto), FIXED_SIZE(10), POLICY(STACK), INTERFACE(header)), int, M_BASIC_OPLIST)
|
||||||
|
|
||||||
* TODO #27 : Uniformization of m-buffer interface :ENHANCEMENT:
|
* TODO #27 : Uniformization of m-buffer interface :ENHANCEMENT:
|
||||||
|
|
||||||
The m-buffer interface requires special argument to work:
|
The m-buffer interface requires special argument to work:
|
||||||
@@ -176,9 +196,8 @@ If the type is typedef T t[1] then passing such an argument to a function,
|
|||||||
will transform the argument to T*, and the type of the argument doesn't match
|
will transform the argument to T*, and the type of the argument doesn't match
|
||||||
what is expecting resulting in a move of the pointers, not a move of the design data.
|
what is expecting resulting in a move of the pointers, not a move of the design data.
|
||||||
|
|
||||||
Defining a TYPE to this macro seems mandatory, but within restricting to C11
|
Defining a TYPE to this macro seems mandatory, but without C11 _Generic
|
||||||
(by using _Generic to detect such case),
|
I don't see any way to define such macro.
|
||||||
I don't see any way to define the macro.
|
|
||||||
|
|
||||||
|
|
||||||
* TODO #20: New: Bucket priority queue :ENHANCEMENT:
|
* TODO #20: New: Bucket priority queue :ENHANCEMENT:
|
||||||
|
|||||||
Reference in new issue
Block a user