BranchType.h
Go to the documentation of this file.
1 #ifndef canvas_Persistency_Provenance_BranchType_h
2 #define canvas_Persistency_Provenance_BranchType_h
3 
4 // ======================================================================
5 //
6 // BranchType: enumerate/encode/label the three Branch types
7 //
8 // ======================================================================
9 
10 #include <string>
11 
12 // ----------------------------------------------------------------------
13 
14 namespace art {
15 
16  // Note: These enum values are used as subscripts for a fixed size
17  // array, so they must not change.
19 
27 
28  inline std::ostream&
29  operator<<(std::ostream& os, BranchType const branchType)
30  {
31  return os << BranchTypeToString(branchType);
32  }
33 
34  template <typename F>
35  void
37  {
39  ++i) {
40  auto const bt = static_cast<BranchType>(i);
41  f(bt);
42  }
43  }
44 
45 } // art
46 
47 // ======================================================================
48 
49 #endif /* canvas_Persistency_Provenance_BranchType_h */
50 
51 // Local Variables:
52 // mode: c++
53 // End:
std::string const & BranchTypeToMinorIndexName(BranchType)
#define F(x, y, z)
std::string const & productProvenanceBranchName(BranchType)
std::string const & BranchTypeToMajorIndexName(BranchType)
std::string const & BranchTypeToProductTreeName(BranchType)
std::string const & BranchTypeToAuxiliaryBranchName(BranchType)
std::ostream & operator<<(std::ostream &os, const GroupSelector &gs)
std::string const & BranchTypeToMetaDataTreeName(BranchType)
std::string const & BranchTypeToString(BranchType)
BranchType
Definition: BranchType.h:18
Service to store calibration data products (CDP) in the SQLite3 metadatabase of a file...
Definition: FillParentInfo.h:8
void for_each_branch_type(F f)
Definition: BranchType.h:36
enum BeamMode string