Global oplists are global macro defined as M_OPL_##type Add support of global oplist for macro M_EACH & M_LET. Partial fix #9
31 lines
850 B
C
31 lines
850 B
C
#include "m-array.h"
|
|
|
|
// Let's define an array of 'char *' named 'charp'
|
|
ARRAY_DEF (array_charp, char *)
|
|
// Let's register globaly the oplist of array_charp
|
|
#define M_OPL_array_charp_t() ARRAY_OPLIST(array_charp)
|
|
|
|
|
|
int main(void)
|
|
{
|
|
// Create an array list 'al' of type array_charp_t
|
|
M_LET (al, array_charp_t) {
|
|
// add elements to the array list
|
|
array_charp_push_back (al,"C");
|
|
array_charp_push_back (al,"A");
|
|
array_charp_push_back (al,"E");
|
|
array_charp_push_back (al,"B");
|
|
array_charp_push_back (al,"D");
|
|
array_charp_push_back (al,"F");
|
|
|
|
// Display contents of al
|
|
printf("Original contents of al: ");
|
|
// For each element of the array al
|
|
for M_EACH(element, al, array_charp_t) {
|
|
printf ("%s ", *element);
|
|
}
|
|
printf("\n");
|
|
} // After this point al is automatically cleared
|
|
return 0;
|
|
}
|