Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:12:04

0001 #ifndef FWCore_Framework_ModuleProcessName_h
0002 #define FWCore_Framework_ModuleProcessName_h
0003 
0004 #include <string_view>
0005 
0006 namespace edm {
0007   /**
0008    * Helper class to hold a module label and a process name
0009    *
0010    * Note: does NOT own the string storage, be careful to use.
0011    */
0012   class ModuleProcessName {
0013   public:
0014     explicit ModuleProcessName(std::string_view module, std::string_view process)
0015         : moduleLabel_{module}, processName_{process} {}
0016 
0017     std::string_view moduleLabel() const { return moduleLabel_; }
0018     std::string_view processName() const { return processName_; }
0019 
0020   private:
0021     std::string_view moduleLabel_;
0022     std::string_view processName_;
0023   };
0024 
0025   inline bool operator<(ModuleProcessName const& a, ModuleProcessName const& b) {
0026     return a.processName() == b.processName() ? a.moduleLabel() < b.moduleLabel() : a.processName() < b.processName();
0027   }
0028 }  // namespace edm
0029 
0030 #endif