fhicl_key.h
Go to the documentation of this file.
1 #ifndef art_Framework_Art_detail_fhicl_key_h
2 #define art_Framework_Art_detail_fhicl_key_h
3 
4 // Class for concatenating FHiCL names into a dot-delimited FHiCL key
5 
6 #include <string>
7 
8 namespace art {
9  namespace detail {
10 
11  template <typename T>
13  fhicl_key(T const& name)
14  {
15  return name;
16  }
17 
18  template <typename H, typename... T>
20  fhicl_key(H const& hname, T const&... tnames)
21  {
22  std::string const head{hname};
23  return head.empty() ? fhicl_key(tnames...) :
24  head + "." + fhicl_key(tnames...);
25  }
26  }
27 }
28 
29 #endif /* art_Framework_Art_detail_fhicl_key_h */
30 
31 // Local variables:
32 // mode: c++
33 // End:
const XML_Char * name
Definition: expat.h:151
Eigen::Matrix< T, Eigen::Dynamic, 1 > head(const Eigen::Matrix< T, Eigen::Dynamic, 1 > &v, size_t n)
Definition: head.hpp:24
const XML_Char int const XML_Char * value
Definition: expat.h:331
std::enable_if_t< std::is_convertible< T, std::string >::value, std::string > fhicl_key(T const &name)
Definition: fhicl_key.h:13
Service to store calibration data products (CDP) in the SQLite3 metadatabase of a file...
Definition: FillParentInfo.h:8
double T
Definition: Xdiff_gwt.C:5
enum BeamMode string