CMS 3D CMS Logo

Typedefs | Functions | Variables
edm::graph Namespace Reference

Typedefs

using EdgeToPathMap = std::map< SimpleEdge, std::vector< unsigned int >>
 
using SimpleEdge = std::pair< unsigned int, unsigned int >
 

Functions

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)
 

Variables

constexpr auto kDataDependencyIndex = std::numeric_limits<unsigned int>::max()
 
constexpr auto kInvalidIndex = std::numeric_limits<unsigned int>::max()
 

Typedef Documentation

using edm::graph::EdgeToPathMap = typedef std::map<SimpleEdge, std::vector<unsigned int>>

Definition at line 40 of file throwIfImproperDependencies.h.

using edm::graph::SimpleEdge = typedef std::pair<unsigned int, unsigned int>

Definition at line 39 of file throwIfImproperDependencies.h.

Function Documentation

void edm::graph::throwIfImproperDependencies ( EdgeToPathMap const &  iEdgeToPathMap,
std::vector< std::vector< unsigned int >> const &  iPathIndexToModuleIndexOrder,
std::vector< std::string > const &  iPathNames,
std::unordered_map< unsigned int, std::string > const &  iModuleIndexToNames 
)

Definition at line 502 of file throwIfImproperDependencies.cc.

References gamEcalExtractorBlocks_cff::detector, and g.

Referenced by edm::checkForModuleDependencyCorrectness().

505  {
506  //Now use boost graph library to find cycles in the dependencies
507  std::vector<SimpleEdge> outList;
508  outList.reserve(iEdgeToPathMap.size());
509  for (auto const& edgeInfo : iEdgeToPathMap) {
510  outList.push_back(edgeInfo.first);
511  }
512 
513  Graph g(outList.begin(), outList.end(), iModuleIndexToNames.size());
514 
515  cycle_detector detector(iEdgeToPathMap, iPathIndexToModuleIndexOrder, iPathNames, iModuleIndexToNames);
516  boost::depth_first_search(g, boost::visitor(detector));
517 }
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4

Variable Documentation

constexpr auto edm::graph::kDataDependencyIndex = std::numeric_limits<unsigned int>::max()
constexpr auto edm::graph::kInvalidIndex = std::numeric_limits<unsigned int>::max()