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;
71 std::list<std::string> keys()
const;
82 void add(
const std::string key,
const std::string concept_,
const MDtype mdt);
91 bool has_alias(
const std::string key)
const;
99 bool is_alias(
const std::string key)
const;
100 std::list<std::string> aliases(
const std::string key)
const;
113 std::pair<std::string, mspass::utility::MDtype>
120 void add_alias(
const std::string key,
const std::string aliasname);
128 bool writeable(
const std::string key)
const;
136 bool readonly(
const std::string key)
const;
214 std::string
collection(
const std::string key)
const;
228 std::pair<std::string, std::string>
246 const std::list<std::string> aliaslist);
285 std::map<std::string, MDtype> tmap;
286 std::map<std::string, std::string> cmap;
287 std::multimap<std::string, std::string> aliasmap;
288 std::map<std::string, std::string> alias_xref;
289 std::set<std::string> roset;
296 std::map<std::string, std::tuple<std::string, std::string>> unique_id_data;
297 void pfreader(
const std::string pfname);
298 void yaml_reader(
const std::string fname);