--- a/docs/Writerside/topics/list.h.md Fri Oct 17 15:04:56 2025 +0200 +++ b/docs/Writerside/topics/list.h.md Fri Oct 17 16:53:24 2025 +0200 @@ -154,7 +154,6 @@ When you are currently iterating through a list, you can insert elements before or after the current position of the iterator with `cxListInsertBefore()` or `cxListInsertAfter()`, respectively. -This _should_ be done with [mutating iterators](iterator.h.md#mutating-iterators) only, but is also defined for normal iterators. If the list is storing pointers (cf. `cxCollectionStoresPointers()`), the pointer `elem` is directly added to the list. Otherwise, the contents at the location pointed to by `elem` are copied to the list's memory with the element size specified during creation of the list. @@ -284,14 +283,6 @@ CxIterator cxListIteratorAt(const CxList *list, size_t index); CxIterator cxListBackwardsIteratorAt(const CxList *list, size_t index); - -CxIterator cxListMutIterator(CxList *list); - -CxIterator cxListMutBackwardsIterator(CxList *list); - -CxIterator cxListMutIteratorAt(CxList *list, size_t index); - -CxIterator cxListMutBackwardsIteratorAt(CxList *list, size_t index); ``` The functions `cxListIterator()` and `cxListBackwardsIterator()` create iterators @@ -300,8 +291,7 @@ The functions `cxListIteratorAt()` and `cxListBackwardsIteratorAt()` start with the element at the specified index and iterate until the end, or the beginning of the list, respectively. -The functions with `Mut` in are equivalent, except that they create a [mutating iterator](iterator.h.md#mutating-iterators). -Removing elements via a mutating iterator will cause an invocation of the [destructor functions](collection.h.md#destructor-functions) for the removed element. +Removing elements via an iterator will cause an invocation of the [destructor functions](collection.h.md#destructor-functions) for the removed element. It is safe to specify an out-of-bounds index, or a `NULL` pointer, in which cases the returned iterator will behave like an iterator over an empty list.