BWAPI
|
#include <set>
#include <queue>
#include <cassert>
Go to the source code of this file.
Classes | |
class | SafeMultisetBase |
Base class for safe multiset, whose only purpose is to declare the return structures so that they are accessible without going through the templated safe multiset class. More... | |
struct | SafeMultisetBase::ConstFunctionReturn |
struct | SafeMultisetBase::FunctionReturn |
class | SafeMultiset< T, Compare > |
A safe multiset is like a regular multiset storing sorted values, but in addition it allows one to iterate over its elements while existing ones are being deleted and new ones are being added. Multiple iterations can be performed on the safe multiset at the same time. To allow this, deleted elements are kept in the multiset until the last iteration has finished, which is when they are removed. More... | |
class | SafeMultiset< T, Compare >::Wrapper |
Wraps an element of the multiset by including other data, in particular a flag indicating whether this element has been deleted. More... | |
class | SafeMultiset< T, Compare >::CompareWrapper |
Trivial functor comparing two wrappers. More... | |
class | SafeMultiset< T, Compare >::Iteration |
Iteration objects provide an automatic (and exception-aware) mechanism for acquisition and release. When new elements are added to the multiset while one or more iterations are taking place, these new elements above a certain threshold (the ones inserted before the current element iterated over) are added to a priority queue, in order to iterate over them afterwards. Additionally, all iteration objects associated with the same safe multiset are linked to one another to create a linked list of iterations. More... | |
class | SafeMultiset< T, Compare >::Iteration::ComparePtrWrapper |