1#ifndef _METADATADEFINITIONS_H_
2#define _METADATADEFINITIONS_H_
7#include "mspass/utility/Metadata.h"
10using mspass::utility::MDtype;
11enum class MDDefFormat { PF, YAML };
51 const mspass::utility::MDDefFormat form);
55 bool is_defined(
const std::string key)
const noexcept;
63 std::string
concept(
const std::string key)
const;
70 mspass::utility::MDtype
type(
const std::string key)
const;
72 std::list<std::string>
keys()
const;
83 void add(
const std::string key,
const std::string concept_,
const MDtype mdt);
92 bool has_alias(
const std::string key)
const;
100 bool is_alias(
const std::string key)
const;
102 std::list<std::string>
aliases(
const std::string key)
const;
115 std::pair<std::string, mspass::utility::MDtype>
122 void add_alias(
const std::string key,
const std::string aliasname);
130 bool writeable(
const std::string key)
const;
138 bool readonly(
const std::string key)
const;
216 std::string
collection(
const std::string key)
const;
230 std::pair<std::string, std::string>
248 const std::list<std::string> aliaslist);
282 std::map<std::string, MDtype> tmap;
283 std::map<std::string, std::string> cmap;
284 std::multimap<std::string, std::string> aliasmap;
285 std::map<std::string, std::string> alias_xref;
286 std::set<std::string> roset;
293 std::map<std::string, std::tuple<std::string, std::string>> unique_id_data;
294 void pfreader(
const std::string pfname);
295 void yaml_reader(
const std::string fname);