LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
ModuleDescription.cc
Go to the documentation of this file.
2 // vim: set sw=2 expandtab :
3 
6 
7 #include <ostream>
8 
9 using namespace std;
10 
11 namespace art {
12 
13  ModuleDescription::~ModuleDescription() = default;
14  ModuleDescription::ModuleDescription() = default;
15 
16  ModuleDescription::ModuleDescription(
17  fhicl::ParameterSetID const parameterSetID,
18  string const& modName,
19  string const& modLabel,
20  ModuleThreadingType const moduleThreadingType,
22  bool const isEmulated)
23  : parameterSetID_{parameterSetID}
24  , moduleName_{modName}
25  , moduleLabel_{modLabel}
27  , isEmulated_{isEmulated}
28  , processConfiguration_{std::move(pc)}
29  {}
30 
33  {
34  return parameterSetID_;
35  }
36 
37  std::string const&
39  {
40  return moduleName_;
41  }
42 
43  std::string const&
45  {
46  return moduleLabel_;
47  }
48 
49  bool
51  {
52  return isEmulated_;
53  }
54 
57  {
58  return moduleThreadingType_;
59  }
60 
63  {
64  return processConfiguration_;
65  }
66 
69  {
70  return processConfiguration().id();
71  }
72 
73  std::string const&
75  {
77  }
78 
79  std::string const&
81  {
83  }
84 
87  {
89  }
90 
91  bool
93  {
94  if (moduleLabel() < rh.moduleLabel()) {
95  return true;
96  }
97  if (rh.moduleLabel() < moduleLabel()) {
98  return false;
99  }
100  if (processName() < rh.processName()) {
101  return true;
102  }
103  if (rh.processName() < processName()) {
104  return false;
105  }
106  if (moduleName() < rh.moduleName()) {
107  return true;
108  }
109  if (rh.moduleName() < moduleName()) {
110  return false;
111  }
112  if (parameterSetID() < rh.parameterSetID()) {
113  return true;
114  }
115  if (rh.parameterSetID() < parameterSetID()) {
116  return false;
117  }
118  if (releaseVersion() < rh.releaseVersion()) {
119  return true;
120  }
121  return false;
122  }
123 
124  bool
126  {
127  return !((*this < rh) || (rh < *this));
128  }
129 
130  bool
132  {
133  return !operator==(rh);
134  }
135 
136  void
137  ModuleDescription::write(ostream& os) const
138  {
139  os << "Module type=" << moduleName() << ", "
140  << "Module label=" << moduleLabel() << ", "
141  << "Parameter Set ID=" << parameterSetID() << ", "
142  << "Process name=" << processName() << ", "
143  << "Release Version=" << releaseVersion() << ", "
144  << "Main Parameter Set ID=" << mainParameterSetID();
145  }
146 
147  std::ostream&
148  operator<<(std::ostream& os, ModuleDescription const& p)
149  {
150  p.write(os);
151  return os;
152  }
153 
154 } // namespace art
ReleaseVersion const & releaseVersion() const noexcept
std::string const & moduleLabel() const
bool operator<(ModuleDescription const &rh) const
STL namespace.
std::string const & releaseVersion() const
ModuleThreadingType moduleThreadingType_
ProcessConfigurationID id() const
bool operator==(ModuleDescription const &rh) const
std::string const & processName() const
std::ostream & operator<<(std::ostream &os, const GroupSelector &gs)
std::string const & moduleName() const
bool isEmulatedModule() const
ProcessConfiguration const & processConfiguration() const
ModuleThreadingType moduleThreadingType() const
fhicl::ParameterSetID const & parameterSetID() const
ModuleThreadingType
Definition: ModuleType.h:19
Definition: MVAAlg.h:12
ProcessConfiguration processConfiguration_
std::string const & processName() const noexcept
fhicl::ParameterSetID const & parameterSetID() const noexcept
ProcessConfigurationID const processConfigurationID() const
fhicl::ParameterSetID parameterSetID_
fhicl::ParameterSetID const & mainParameterSetID() const
void write(std::ostream &os) const
bool operator!=(ModuleDescription const &rh) const
Definition: Hash.h:34