LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
Parentage.h
Go to the documentation of this file.
1 #ifndef canvas_Persistency_Provenance_Parentage_h
2 #define canvas_Persistency_Provenance_Parentage_h
3 // vim: set sw=2 expandtab :
4 
5 // The products that were read in producing this product.
6 
9 
10 #include <iosfwd>
11 #include <vector>
12 
13 namespace art {
14 
15  class Parentage {
16  public:
17  explicit Parentage(std::vector<ProductID> parents);
18 
19  ~Parentage();
20  Parentage();
21 
22  Parentage(Parentage const&);
24 
25  Parentage& operator=(Parentage const&);
27 
28  ParentageID id() const;
29  std::vector<ProductID> const& parents() const;
30 
31  private:
32  std::vector<ProductID> parents_{};
33  };
34 
35  std::ostream& operator<<(std::ostream& os, Parentage const&);
36 
37  bool operator==(Parentage const& a, Parentage const& b);
38  bool operator!=(Parentage const& a, Parentage const& b);
39 
40 } // namespace art
41 
42 #endif /* canvas_Persistency_Provenance_Parentage_h */
43 
44 // Local Variables:
45 // mode: c++
46 // End:
bool operator==(Provenance const &a, Provenance const &b) noexcept
Definition: Provenance.cc:141
std::vector< ProductID > const & parents() const
Definition: Parentage.cc:37
bool operator!=(ScheduleID const left, ScheduleID const right) noexcept
Definition: ScheduleID.cc:41
std::ostream & operator<<(std::ostream &os, const GroupSelector &gs)
ParentageID id() const
Definition: Parentage.cc:26
Parentage & operator=(Parentage const &)
std::vector< ProductID > parents_
Definition: Parentage.h:32
Definition: MVAAlg.h:12