CMS 3D CMS Logo

path_configuration.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: FWCore/Utilities
4 // namespace : path_configuration
5 //
6 // Implementation:
7 // [Notes on implementation]
8 //
9 // Original Author: Christopher Jones
10 // Created: Wed, 30 Mar 2022 15:04:35 GMT
11 //
12 
13 // system include files
14 #include <algorithm>
15 
16 // user include files
18 
19 namespace edm::path_configuration {
20 
22  static const SchedulingConstructLabelSet s_set({{"@"}, {"#"}});
23  return s_set;
24  }
25 
26  //Takes the Parameter associated to a given Path and converts it to the list of modules
27  // in the same order as the Path's position bits
28  std::vector<std::string> configurationToModuleBitPosition(std::vector<std::string> iConfig) {
29  auto const& labelsToRemove = schedulingConstructLabels();
30  iConfig.erase(
31  std::remove_if(iConfig.begin(),
32  iConfig.end(),
33  [&labelsToRemove](auto const& n) { return labelsToRemove.find(n) != labelsToRemove.end(); }),
34  iConfig.end());
35  return iConfig;
36  }
37 
38 } // namespace edm::path_configuration
std::vector< std::string > configurationToModuleBitPosition(std::vector< std::string >)
SchedulingConstructLabelSet const & schedulingConstructLabels()
std::unordered_set< std::string, std::hash< std::string >, std::equal_to<> > SchedulingConstructLabelSet
The label is an indicator of a path scheduling construct and not an actual module.