25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
+
+
-
-
-
+
+
+
+
+
+
+
+
|
*/
#include <stdio.h>
#include "object.h"
#include "refpool.h"
#include "string.h"
#include "int.h"
#include "array.h"
#include "map.h"
static void
print_map(CFWMap *map)
{
cfw_map_iter_t iter;
cfw_map_iter(map, &iter);
fputs("{\n", stdout);
while (iter.key != NULL) {
if (cfw_is(iter.obj, cfw_string)) {
printf("\t%s = %s\n",
cfw_string_c(iter.key),
cfw_string_c(iter.obj));
printf("\t%s = %s\n",
cfw_string_c(iter.key),
cfw_string_c(iter.obj));
} else if (cfw_is(iter.obj, cfw_int)) {
printf("\t%s = %jd\n",
cfw_string_c(iter.key),
cfw_int_value(iter.obj));
}
cfw_map_iter_next(&iter);
}
fputs("}\n", stdout);
}
|
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
-
+
+
+
|
p = cfw_new(cfw_refpool);
m = cfw_new_p(cfw_map,
cfw_new_p(cfw_string, "Hallo"),
cfw_new_p(cfw_string, "Welt!"),
cfw_new_p(cfw_string, "Test"),
cfw_new_p(cfw_string, "success!"), NULL);
cfw_new_p(cfw_string, "success!"),
cfw_new_p(cfw_string, "int"),
cfw_new_p(cfw_int, INTMAX_C(1234)), NULL);
print_map(m);
cfw_map_set(m,
cfw_new_p(cfw_string, "Hallo"),
cfw_new_p(cfw_string, "Test"));
|