Add basic example of generic interface
This commit is contained in:
1 parent
c98786a3b3
commit
76ef061dec
1 file changed
+25
@@ -0,0 +1,25 @@
|
|||||||
|
#include "m-list.h"
|
||||||
|
#include "m-generic.h"
|
||||||
|
|
||||||
|
LIST_DEF(list_uint, unsigned int)
|
||||||
|
// Register for M_LET & M_EACH
|
||||||
|
#define M_OPL_list_uint_t() LIST_OPLIST(list_uint, M_BASIC_OPLIST)
|
||||||
|
// Register for Generic:
|
||||||
|
#define M_GENERIC_ORG_1() (USER)
|
||||||
|
#define M_GENERIC_ORG_USER_COMP_1() (CORE)
|
||||||
|
#define M_GENERIC_ORG_USER_COMP_CORE_OPLIST_1() M_OPL_list_uint_t()
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
M_LET(list, list_uint_t) {
|
||||||
|
// We can push in the list. It will call the registered method.
|
||||||
|
push(list, 42);
|
||||||
|
push(list, 17);
|
||||||
|
// We can iterate over the list
|
||||||
|
for each(item, list) {
|
||||||
|
M_PRINT("ITEM=", *item, "\n");
|
||||||
|
}
|
||||||
|
// We can print directly the list. It will use the registered method
|
||||||
|
M_PRINT("List = ", list, "\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in new issue
Block a user