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

References gamEcalExtractorBlocks_cff::detector, and g.

Referenced by edm::checkForModuleDependencyCorrectness().

523  {
524 
525  //Now use boost graph library to find cycles in the dependencies
526  std::vector<SimpleEdge> outList;
527  outList.reserve(iEdgeToPathMap.size());
528  for(auto const& edgeInfo: iEdgeToPathMap) {
529  outList.push_back(edgeInfo.first);
530  }
531 
532  Graph g(outList.begin(),outList.end(), iModuleIndexToNames.size());
533 
534  cycle_detector detector(iEdgeToPathMap,iPathIndexToModuleIndexOrder,iPathNames,iModuleIndexToNames);
535  boost::depth_first_search(g,boost::visitor(detector));
536 }
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()