14 if (newOrder == order) {
21 for (
auto const id : contents) {
31 return !contents.empty();
35 if (contents.insert(
id).second) {
47 BeliefId const id = *contents.begin();
48 contents.erase(contents.begin());
59 STORM_LOG_ASSERT(contents.count(
id) == 1,
"Queue contains belief that is not in contents.");
std::unordered_set< storm::pomdp::beliefs::BeliefId > getContents() const
void changeOrder(ExplorationQueueOrder const newOrder)
Changes the order in which the queue processes the elements.
ExplorationQueue(ExplorationQueueOrder const order=ExplorationQueueOrder::Unordered)
bool push(BeliefId const id)
Adds the given belief id to the queue.
BeliefId popNext()
Removes and returns the next belief id from the queue.
#define STORM_LOG_ASSERT(cond, message)
ExplorationQueueOrder
Order used to select the next discovered belief for exploration.