diff --git a/Framework/Core/src/FairMQDeviceProxy.cxx b/Framework/Core/src/FairMQDeviceProxy.cxx index 7cdc89f5a863f..2860c0c1908a6 100644 --- a/Framework/Core/src/FairMQDeviceProxy.cxx +++ b/Framework/Core/src/FairMQDeviceProxy.cxx @@ -21,6 +21,8 @@ #include #include +#include + namespace o2::framework { @@ -142,9 +144,11 @@ void FairMQDeviceProxy::getMatchingForwardChannelIndexes(std::vector numSet; + auto iter = std::stable_partition(result.begin(), result.end(), + [&](ChannelIndex n) { bool ret = !numSet.count(n.value); numSet.insert(n.value); return ret; }); // returns true if the item has not been "seen" + result.erase(iter, result.end()); } ChannelIndex FairMQDeviceProxy::getOutputChannelIndexByName(std::string const& name) const