test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 364 of file throwIfImproperDependencies.cc.

References g.

Referenced by edm::checkForModuleDependencyCorrectness().

367  {
368 
369  //Now use boost graph library to find cycles in the dependencies
370  std::vector<SimpleEdge> outList;
371  outList.reserve(iEdgeToPathMap.size());
372  for(auto const& edgeInfo: iEdgeToPathMap) {
373  outList.push_back(edgeInfo.first);
374  }
375 
376  Graph g(outList.begin(),outList.end(), iModuleIndexToNames.size());
377 
378  cycle_detector detector(iEdgeToPathMap,iPathIndexToModuleIndexOrder,iPathNames,iModuleIndexToNames);
379  boost::depth_first_search(g,boost::visitor(detector));
380 }
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()