CMS 3D CMS Logo

throwIfImproperDependencies.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_throwIfImproperDependencies_h
2 #define FWCore_Framework_throwIfImproperDependencies_h
3 // -*- C++ -*-
4 //
5 // Package: FWCore/Framework
6 // Function: throwIfImproperDependencies
7 //
16 //
17 // Original Author: Chris Jones
18 // Created: Tue, 06 Sep 2016 16:04:26 GMT
19 //
20 
21 // system include files
22 #include <map>
23 #include <unordered_map>
24 #include <string>
25 #include <vector>
26 #include <limits>
27 
28 // user include files
29 
30 // forward declarations
31 
32 namespace edm {
33  namespace graph {
35  //This index is used as the Path index for the case where we are
36  // describing a data dependency and not a dependency on a Path
38 
39  using SimpleEdge = std::pair<unsigned int, unsigned int>;
40  using EdgeToPathMap = std::map<SimpleEdge, std::vector<unsigned int>>;
41 
43  std::vector<std::vector<unsigned int>> const& iPathIndexToModuleIndexOrder,
44  std::vector<std::string> const& iPathNames,
45  std::unordered_map<unsigned int,std::string> const& iModuleIndexToNames);
46  }
47 };
48 
49 #endif
constexpr auto kInvalidIndex
void throwIfImproperDependencies(EdgeToPathMap const &, std::vector< std::vector< unsigned int >> const &iPathIndexToModuleIndexOrder, std::vector< std::string > const &iPathNames, std::unordered_map< unsigned int, std::string > const &iModuleIndexToNames)
std::map< SimpleEdge, std::vector< unsigned int >> EdgeToPathMap
constexpr auto kDataDependencyIndex
#define constexpr
Definition: adjgraph.h:12
HLT enums.
std::pair< unsigned int, unsigned int > SimpleEdge