File indexing completed on 2025-09-18 09:31:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef ROOT_RDF_RMETADATA
0012 #define ROOT_RDF_RMETADATA
0013
0014 #include <string>
0015 #include <memory>
0016
0017 namespace ROOT {
0018 namespace RDF {
0019 namespace Experimental {
0020 class RMetaData;
0021 }
0022 }
0023
0024 namespace Internal {
0025 namespace RDF {
0026
0027
0028
0029
0030 void ImportJSON(ROOT::RDF::Experimental::RMetaData &metadata, const std::string &jsonString);
0031 std::string ExportJSON(ROOT::RDF::Experimental::RMetaData &metadata);
0032 struct RMetaDataJson;
0033 }
0034 }
0035
0036 namespace RDF {
0037 namespace Experimental {
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057 class RMetaData {
0058 friend void ROOT::Internal::RDF::ImportJSON(ROOT::RDF::Experimental::RMetaData &, const std::string &jsonString);
0059 friend std::string ROOT::Internal::RDF::ExportJSON(ROOT::RDF::Experimental::RMetaData &);
0060
0061 public:
0062
0063 RMetaData();
0064
0065
0066 RMetaData(RMetaData const&);
0067 RMetaData(RMetaData &&);
0068 RMetaData & operator=(RMetaData const&);
0069 RMetaData & operator=(RMetaData &&);
0070 ~RMetaData();
0071
0072 void Add(const std::string &key, int val);
0073 void Add(const std::string &key, double val);
0074 void Add(const std::string &key, const std::string &val);
0075
0076 std::string Dump(const std::string &key) const;
0077 int GetI(const std::string &key) const;
0078 double GetD(const std::string &key) const;
0079 std::string GetS(const std::string &key) const;
0080 int GetI(const std::string &key, int defaultVal) const;
0081 double GetD(const std::string &key, double defaultVal) const;
0082 const std::string GetS(const std::string &key, const std::string &defaultVal) const;
0083
0084 private:
0085 std::unique_ptr<Internal::RDF::RMetaDataJson> fJson;
0086 };
0087
0088 }
0089 }
0090 }
0091
0092 #endif