LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
MetadataSummary.h
Go to the documentation of this file.
1 #ifndef art_Framework_Art_detail_MetadataSummary_h
2 #define art_Framework_Art_detail_MetadataSummary_h
3 
5 
6 #include <string>
7 #include <vector>
8 
9 namespace art::detail {
10  class LibraryInfo;
11 
12  template <art::suffix_type S>
14 }
15 
16 namespace art::detail {
17 
18  struct Summary {
19  std::string message;
21  };
22 
24  public:
25  std::string
26  header() const
27  {
28  return doHeader();
29  }
30  Summary
31  summary(LibraryInfo const& li, std::size_t const entry) const
32  {
33  return doSummary(li, entry);
34  }
35  std::vector<std::size_t> const&
36  widths() const
37  {
38  return doWidths();
39  }
40  virtual ~MetadataSummary() = default;
41 
42  private:
43  virtual std::string doHeader() const = 0;
44  virtual Summary doSummary(LibraryInfo const& li,
45  std::size_t entry) const = 0;
46  virtual std::vector<std::size_t> const& doWidths() const = 0;
47  };
48 
49 } // namespace art::detail
50 
51 #endif /* art_Framework_Art_detail_MetadataSummary_h */
52 
53 // Local variables:
54 // mode: c++
55 // End:
std::string header() const
Summary summary(LibraryInfo const &li, std::size_t const entry) const
std::vector< std::size_t > const & widths() const