-/* Copyright (c) 2008-2021. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2008-2022. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
#include "udpor_global.hpp"
#include "xbt/log.h"
+#include <algorithm>
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_udpor_global, mc, "udpor_global");
namespace simgrid {
namespace mc {
-EventSet EvtSetTools::makeUnion(EventSet s1, EventSet s2)
+EventSet EvtSetTools::makeUnion(const EventSet& s1, const EventSet& s2)
{
EventSet res = s1;
for (auto evt : s2)
void EvtSetTools::pushBack(EventSet& events, UnfoldingEvent* e)
{
- if (!EvtSetTools::contains(events, e))
+ if (not EvtSetTools::contains(events, e))
events.push_back(e);
}
-bool EvtSetTools::contains(const EventSet events, const UnfoldingEvent* e)
+bool EvtSetTools::contains(const EventSet& events, const UnfoldingEvent* e)
{
- for (auto evt : events)
- if (*evt == *e)
- return true;
- return false;
+ return std::any_of(events.begin(), events.end(), [e](const UnfoldingEvent* evt) { return *evt == *e; });
}
} // namespace mc