78 {
79 char_vec vec = char_vec_new();
80 char_vec_push(&vec, 'H');
81 char_vec_push(&vec, 'e');
82 char_vec_push(&vec, 'l');
83 char_vec_push(&vec, 'l');
84 char_vec_push(&vec, 'o');
85 char_vec_push(&vec, ' ');
86 char_vec_push(&vec, 'W');
87 char_vec_push(&vec, 'o');
88 char_vec_push(&vec, 'r');
89 char_vec_push(&vec, 'l');
90 char_vec_push(&vec, 'd');
91
92 assert(char_vec_size(&vec) == 11);
93 {
94
95 char_vec_iter_const iter = char_vec_get_iter_const(&vec);
96 char const* item = NULL;
97 while (item = char_vec_iter_const_next(&iter), item != NULL) {
98 printf("%c", *item);
99 }
100 printf("\n");
101 }
102
103 {
104 char_vec_iter_const iter = char_vec_get_iter_const(&vec);
105 ITER_LOOP(char_vec_iter_const, iter,
char const*,
foo) { printf(
"%c", *
foo); }
106 printf("\n");
107 }
108
109 char_vec_delete(&vec);
110}
#define ITER_LOOP(ITER_TYPE, ITER_NAME, VALUE_TYPE, VALUE_NAME)