-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
When an iterator is created, the underlying data structure cannot be modified outside of the iterator. In order to handle potential hard to debug problems this could cause in a multi-threaded context, it is necessary to inform each structure when it has an iterator utilizing it. If the structure knows it has an iterator active, and then it receives a function call to edit itself, it should then throw an assertion error.
This would also imply that each of the iterator constructors would need to seize the writing mutex.