50 struct cx_map_s const *map, |
50 struct cx_map_s const *map, |
51 __attribute__((__unused__)) enum cx_map_iterator_type type |
51 __attribute__((__unused__)) enum cx_map_iterator_type type |
52 ) { |
52 ) { |
53 CxIterator iter = {0}; |
53 CxIterator iter = {0}; |
54 iter.src_handle.c = map; |
54 iter.src_handle.c = map; |
55 iter.valid = cx_empty_map_iter_valid; |
55 iter.base.valid = cx_empty_map_iter_valid; |
56 return iter; |
56 return iter; |
57 } |
57 } |
58 |
58 |
59 static struct cx_map_class_s cx_empty_map_class = { |
59 static struct cx_map_class_s cx_empty_map_class = { |
60 cx_empty_map_noop, |
60 cx_empty_map_noop, |
64 NULL, |
64 NULL, |
65 cx_empty_map_iterator |
65 cx_empty_map_iterator |
66 }; |
66 }; |
67 |
67 |
68 CxMap cx_empty_map = { |
68 CxMap cx_empty_map = { |
69 NULL, |
69 { |
70 NULL, |
70 NULL, |
71 0, |
71 NULL, |
72 0, |
72 0, |
73 NULL, |
73 0, |
74 NULL, |
74 NULL, |
75 NULL, |
75 NULL, |
76 false, |
76 NULL, |
|
77 false |
|
78 }, |
77 &cx_empty_map_class |
79 &cx_empty_map_class |
78 }; |
80 }; |
79 |
81 |
80 CxMap *const cxEmptyMap = &cx_empty_map; |
82 CxMap *const cxEmptyMap = &cx_empty_map; |
81 |
83 |
82 // </editor-fold> |
84 // </editor-fold> |
83 |
85 |
84 CxIterator cxMapMutIteratorValues(CxMap *map) { |
86 CxIterator cxMapMutIteratorValues(CxMap *map) { |
85 CxIterator it = map->cl->iterator(map, CX_MAP_ITERATOR_VALUES); |
87 CxIterator it = map->cl->iterator(map, CX_MAP_ITERATOR_VALUES); |
86 it.mutating = true; |
88 it.base.mutating = true; |
87 return it; |
89 return it; |
88 } |
90 } |
89 |
91 |
90 CxIterator cxMapMutIteratorKeys(CxMap *map) { |
92 CxIterator cxMapMutIteratorKeys(CxMap *map) { |
91 CxIterator it = map->cl->iterator(map, CX_MAP_ITERATOR_KEYS); |
93 CxIterator it = map->cl->iterator(map, CX_MAP_ITERATOR_KEYS); |
92 it.mutating = true; |
94 it.base.mutating = true; |
93 return it; |
95 return it; |
94 } |
96 } |
95 |
97 |
96 CxIterator cxMapMutIterator(CxMap *map) { |
98 CxIterator cxMapMutIterator(CxMap *map) { |
97 CxIterator it = map->cl->iterator(map, CX_MAP_ITERATOR_PAIRS); |
99 CxIterator it = map->cl->iterator(map, CX_MAP_ITERATOR_PAIRS); |
98 it.mutating = true; |
100 it.base.mutating = true; |
99 return it; |
101 return it; |
100 } |
102 } |