Closed peter1591 closed 8 years ago
Currently the minions are stored in a c++ list container,
when insert, the other iterators are still valid (as opposite to the std::vector)
In current code, we have implemented our own consistency-checking mechanism,
and when a minion is inserted, the consistency-checking framework will invalidate all other iterators
this is not necessary as long as the std::list is used.
Note: when a minion is removed, the other iterators are still valid in std::list,
BUT!! the iterators pointing to the removed minion should be invalidated.
However, since we have no tracking info for such iterators, all iterators are marked invalidated.
This is a desired behavior since the game engine should not introduce such behavior.
fixed in commit: ae61946bbb9bbb87dff202cde0fcd53c4073a2a4
Currently the minions are stored in a c++ list container,
when insert, the other iterators are still valid (as opposite to the std::vector)
In current code, we have implemented our own consistency-checking mechanism,
and when a minion is inserted, the consistency-checking framework will invalidate all other iterators
this is not necessary as long as the std::list is used.
Note: when a minion is removed, the other iterators are still valid in std::list,
BUT!! the iterators pointing to the removed minion should be invalidated.
However, since we have no tracking info for such iterators, all iterators are marked invalidated.
This is a desired behavior since the game engine should not introduce such behavior.