--- a/src/cx/map.h Fri Oct 17 15:04:56 2025 +0200 +++ b/src/cx/map.h Fri Oct 17 16:53:24 2025 +0200 @@ -111,16 +111,7 @@ /** * Handle for the source map. */ - union { - /** - * Access for mutating iterators. - */ - CxMap *m; - /** - * Access for normal iterators. - */ - const CxMap *c; - } map; + CxMap *map; /** * Handle for the current element. @@ -302,54 +293,6 @@ CX_EXPORT CxMapIterator cxMapIterator(const CxMap *map); /** - * Creates a mutating iterator over the values of a map. - * - * When the map is storing pointers, those pointers are returned. - * Otherwise, the iterator iterates over pointers to the memory within the map where the - * respective elements are stored. - * - * @note An iterator iterates over all elements successively. Therefore, the order - * highly depends on the map implementation and may change arbitrarily when the contents change. - * - * @param map the map to create the iterator for (can be @c NULL) - * @return an iterator for the currently stored values - */ -cx_attr_nodiscard -CX_EXPORT CxMapIterator cxMapMutIteratorValues(CxMap *map); - -/** - * Creates a mutating iterator over the keys of a map. - * - * The elements of the iterator are keys of type CxHashKey, and the pointer returned - * during iterator shall be treated as @c const @c CxHashKey* . - * - * @note An iterator iterates over all elements successively. Therefore, the order - * highly depends on the map implementation and may change arbitrarily when the contents change. - * - * @param map the map to create the iterator for (can be @c NULL) - * @return an iterator for the currently stored keys - */ -cx_attr_nodiscard -CX_EXPORT CxMapIterator cxMapMutIteratorKeys(CxMap *map); - -/** - * Creates a mutating iterator for a map. - * - * The elements of the iterator are key/value pairs of type CxMapEntry, and the pointer returned - * during iterator shall be treated as @c const @c CxMapEntry* . - * - * @note An iterator iterates over all elements successively. Therefore, the order - * highly depends on the map implementation and may change arbitrarily when the contents change. - * - * @param map the map to create the iterator for (can be @c NULL) - * @return an iterator for the currently stored entries - * @see cxMapMutIteratorKeys() - * @see cxMapMutIteratorValues() - */ -cx_attr_nodiscard -CX_EXPORT CxMapIterator cxMapMutIterator(CxMap *map); - -/** * Puts a key/value-pair into the map. * * A possible existing value will be overwritten.