From 0d561bcf572d75b0a0ef6f6c2721713f54a1693d Mon Sep 17 00:00:00 2001 From: frosch Date: Sat, 16 Aug 2014 20:40:26 +0000 Subject: (svn r26742) -Doc: Why reverse_iterator is unsuitable for ScriptList iterators --- src/script/api/script_list.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/script/api/script_list.cpp b/src/script/api/script_list.cpp index 7add90c74..e0dba50bc 100644 --- a/src/script/api/script_list.cpp +++ b/src/script/api/script_list.cpp @@ -151,6 +151,9 @@ public: */ class ScriptListSorterValueDescending : public ScriptListSorter { private: + /* Note: We cannot use reverse_iterator. + * The iterators must only be invalidated when the element they are pointing to is removed. + * This only holds for forward iterators. */ ScriptList::ScriptListBucket::iterator bucket_iter; ///< The iterator over the list to find the buckets. ScriptList::ScriptItemList *bucket_list; ///< The current bucket list we're iterator over. ScriptList::ScriptItemList::iterator bucket_list_iter; ///< The iterator over the bucket list. @@ -315,6 +318,9 @@ public: */ class ScriptListSorterItemDescending : public ScriptListSorter { private: + /* Note: We cannot use reverse_iterator. + * The iterators must only be invalidated when the element they are pointing to is removed. + * This only holds for forward iterators. */ ScriptList::ScriptListMap::iterator item_iter; ///< The iterator over the items in the map. public: -- cgit v1.2.3-54-g00ecf