src/hash_map.c

changeset 850
b2bc48c2b251
parent 829
7d4e31d295af
child 853
d4baf4dd55c3
     1.1 --- a/src/hash_map.c	Fri Apr 12 21:48:12 2024 +0200
     1.2 +++ b/src/hash_map.c	Thu May 23 15:05:24 2024 +0200
     1.3 @@ -333,23 +333,27 @@
     1.4      CxIterator iter;
     1.5  
     1.6      iter.src_handle = map;
     1.7 -    iter.base.valid = cx_hash_map_iter_valid;
     1.8 -    iter.base.next = cx_hash_map_iter_next;
     1.9 +    iter.elem_count = map->size;
    1.10  
    1.11      switch (type) {
    1.12          case CX_MAP_ITERATOR_PAIRS:
    1.13 +            iter.elem_size = sizeof(CxMapEntry);
    1.14              iter.base.current = cx_hash_map_iter_current_entry;
    1.15              break;
    1.16          case CX_MAP_ITERATOR_KEYS:
    1.17 +            iter.elem_size = sizeof(CxHashKey);
    1.18              iter.base.current = cx_hash_map_iter_current_key;
    1.19              break;
    1.20          case CX_MAP_ITERATOR_VALUES:
    1.21 +            iter.elem_size = map->item_size;
    1.22              iter.base.current = cx_hash_map_iter_current_value;
    1.23              break;
    1.24          default:
    1.25              assert(false);
    1.26      }
    1.27  
    1.28 +    iter.base.valid = cx_hash_map_iter_valid;
    1.29 +    iter.base.next = cx_hash_map_iter_next;
    1.30      iter.base.remove = false;
    1.31      iter.base.mutating = false;
    1.32  

mercurial