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 481 of file throwIfImproperDependencies.cc.

References gamEcalExtractorBlocks_cff::detector, and g.

Referenced by edm::checkForModuleDependencyCorrectness().

484  {
485 
486  //Now use boost graph library to find cycles in the dependencies
487  std::vector<SimpleEdge> outList;
488  outList.reserve(iEdgeToPathMap.size());
489  for(auto const& edgeInfo: iEdgeToPathMap) {
490  outList.push_back(edgeInfo.first);
491  }
492 
493  Graph g(outList.begin(),outList.end(), iModuleIndexToNames.size());
494 
495  cycle_detector detector(iEdgeToPathMap,iPathIndexToModuleIndexOrder,iPathNames,iModuleIndexToNames);
496  boost::depth_first_search(g,boost::visitor(detector));
497 }
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()