LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
ProcessConfiguration.h
Go to the documentation of this file.
1 #ifndef canvas_Persistency_Provenance_ProcessConfiguration_h
2 #define canvas_Persistency_Provenance_ProcessConfiguration_h
3 // vim: set sw=2 expandtab :
4 
8 
9 #include <iosfwd>
10 #include <string>
11 #include <vector>
12 
13 namespace art {
14 
16  public:
18 
19  ProcessConfiguration() noexcept;
20 
21  // The non-default constructor cannot be noexcept because the
22  // non-default ParameterSetID c'tor can throw.
23  ProcessConfiguration(std::string const& name,
24  fhicl::ParameterSetID const&,
25  ReleaseVersion const&) noexcept(false);
26  ProcessConfiguration(ProcessConfiguration const&) noexcept(false);
27  ProcessConfiguration(ProcessConfiguration&&) noexcept(false);
28 
31 
32  std::string const& processName() const noexcept;
33  fhicl::ParameterSetID const& parameterSetID() const noexcept;
34  ReleaseVersion const& releaseVersion() const noexcept;
35  ProcessConfigurationID id() const;
36 
37  private:
38  std::string processName_{};
41  };
42 
43  bool operator<(ProcessConfiguration const& a, ProcessConfiguration const& b);
44  bool operator==(ProcessConfiguration const& a, ProcessConfiguration const& b);
45  bool operator!=(ProcessConfiguration const& a, ProcessConfiguration const& b);
46 
47  std::ostream& operator<<(std::ostream& os, ProcessConfiguration const& pc);
48 
49  using ProcessConfigurations = std::vector<ProcessConfiguration>;
50 
51 } // namespace art
52 
53 #endif /* canvas_Persistency_Provenance_ProcessConfiguration_h */
54 
55 // Local Variables:
56 // mode: c++
57 // End:
ReleaseVersion const & releaseVersion() const noexcept
std::string ReleaseVersion
Definition: ReleaseVersion.h:7
bool operator==(Provenance const &a, Provenance const &b) noexcept
Definition: Provenance.cc:141
ProcessConfiguration & operator=(ProcessConfiguration const &)
bool operator!=(ScheduleID const left, ScheduleID const right) noexcept
Definition: ScheduleID.cc:41
fhicl::ParameterSetID parameterSetID_
ProcessConfigurationID id() const
std::ostream & operator<<(std::ostream &os, const GroupSelector &gs)
bool operator<(ProductInfo const &a, ProductInfo const &b)
Definition: ProductInfo.cc:51
std::vector< ProcessConfiguration > ProcessConfigurations
Definition: MVAAlg.h:12
std::string const & processName() const noexcept
fhicl::ParameterSetID const & parameterSetID() const noexcept
Definition: Hash.h:34