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  public:
29  ParentageID id() const;
30 
31  std::vector<ProductID> const& parents() const;
32 
33  private:
34  std::vector<ProductID> parents_{};
35  };
36 
37  std::ostream& operator<<(std::ostream& os, Parentage const&);
38 
39  bool operator==(Parentage const& a, Parentage const& b);
40 
41  bool operator!=(Parentage const& a, Parentage const& b);
42 
43 } // namespace art
44 
45 #endif /* canvas_Persistency_Provenance_Parentage_h */
46 
47 // Local Variables:
48 // mode: c++
49 // End:
bool operator==(Provenance const &a, Provenance const &b) noexcept
Definition: Provenance.cc:141
std::vector< ProductID > const & parents() const
Definition: Parentage.cc:36
bool operator!=(debugging_allocator< X > const &, debugging_allocator< Y > const &)
std::ostream & operator<<(std::ostream &os, const GroupSelector &gs)
ParentageID id() const
Definition: Parentage.cc:25
Parentage & operator=(Parentage const &)
const double a
std::vector< ProductID > parents_
Definition: Parentage.h:34
static bool * b
Definition: config.cpp:1043