ATLAS Offline Software
IdDictMgr.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef IDDICT_IDDICTMGR_H
6 #define IDDICT_IDDICTMGR_H
7 
8 #include <map>
9 #include <set>
10 #include <string>
11 
12 class IdDictDictionary;
13 
14 class IdDictMgr {
15 public:
16  typedef std::map<std::string, IdDictDictionary*> dictionary_map;
17  typedef std::map<std::string, std::string> metadata_map;
18 
19  IdDictMgr();
20  ~IdDictMgr();
21 
23  const std::string& tag () const;
24 
26  IdDictDictionary* find_dictionary (const std::string& name) const;
27 
29  const dictionary_map& get_dictionary_map () const;
30 
32  const std::string& DTD_version () const;
33 
35  bool do_checks () const;
36 
38  bool do_neighbours () const;
39 
41  const std::string& find_metadata (const std::string& name) const;
42 
45  void add_subdictionary_name (const std::string& name);
46  void add_metadata (const std::string& name, const std::string& value);
47  void set_DTD_version (const std::string& DTD_version);
48  void set_do_checks (bool do_checks);
49  void set_do_neighbours (bool do_neighbours);
50 
51 
53  void resolve_references ();
54  void generate_implementation (const std::string& tag = "");
55 
57  void reset_implementation ();
58  void clear ();
59 
60  bool verify () const;
61 
62 
63 private:
64 
66 
67  std::string m_DTD_version;
68  std::string m_tag;
71  std::set<std::string> m_subdictionary_names;
76 };
77 
78 #endif
IdDictMgr::dictionary_map
std::map< std::string, IdDictDictionary * > dictionary_map
Definition: IdDictMgr.h:16
IdDictMgr::resolve_references
void resolve_references()
Construct dictionary after parsing.
Definition: IdDictMgr.cxx:152
IdDictMgr::verify
bool verify() const
Definition: IdDictMgr.cxx:201
IdDictMgr::m_metadata
metadata_map m_metadata
Definition: IdDictMgr.h:70
IdDictMgr::metadata_map
std::map< std::string, std::string > metadata_map
Definition: IdDictMgr.h:17
IdDictMgr::set_do_checks
void set_do_checks(bool do_checks)
Definition: IdDictMgr.cxx:70
IdDictMgr::get_dictionary_map
const dictionary_map & get_dictionary_map() const
Access to all dictionaries.
Definition: IdDictMgr.cxx:111
athena.value
value
Definition: athena.py:124
IdDictMgr::find_metadata
const std::string & find_metadata(const std::string &name) const
Access to meta data, name/value pairs.
Definition: IdDictMgr.cxx:92
IdDictMgr::m_dictionaries
dictionary_map m_dictionaries
Definition: IdDictMgr.h:69
IdDictMgr::m_DTD_version
std::string m_DTD_version
Definition: IdDictMgr.h:67
IdDictMgr::IdDictMgr
IdDictMgr()
Definition: IdDictMgr.cxx:45
IdDictMgr
Definition: IdDictMgr.h:14
IdDictMgr::set_do_neighbours
void set_do_neighbours(bool do_neighbours)
Definition: IdDictMgr.cxx:83
IdDictMgr::find_dictionary
IdDictDictionary * find_dictionary(const std::string &name) const
Access dictionary by name.
Definition: IdDictMgr.cxx:115
IdDictMgr::add_subdictionary_name
void add_subdictionary_name(const std::string &name)
Definition: IdDictMgr.cxx:148
IdDictMgr::m_resolved_references
bool m_resolved_references
Definition: IdDictMgr.h:72
IdDictMgr::do_neighbours
bool do_neighbours() const
Check whether or not to init neighbours.
Definition: IdDictMgr.cxx:78
IdDictMgr::m_do_checks
bool m_do_checks
Definition: IdDictMgr.h:74
IdDictMgr::reset_implementation
void reset_implementation()
Reset of implementation.
Definition: IdDictMgr.cxx:185
IdDictMgr::add_dictionary
void add_dictionary(IdDictDictionary *dictionary)
Fillers:
Definition: IdDictMgr.cxx:125
IdDictMgr::~IdDictMgr
~IdDictMgr()
Definition: IdDictMgr.cxx:53
master.dictionary
dictionary
Definition: master.py:47
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
IdDictDictionary
Definition: IdDictDictionary.h:30
IdDictMgr::find_subdicts
void find_subdicts(IdDictDictionary *dict)
IdDictMgr::m_do_neighbours
bool m_do_neighbours
Definition: IdDictMgr.h:75
IdDictMgr::set_DTD_version
void set_DTD_version(const std::string &DTD_version)
Definition: IdDictMgr.cxx:107
IdDictMgr::clear
void clear()
Definition: IdDictMgr.cxx:212
IdDictMgr::do_checks
bool do_checks() const
Check whether or not to do checks for ids.
Definition: IdDictMgr.cxx:65
IdDictMgr::DTD_version
const std::string & DTD_version() const
DTD version.
Definition: IdDictMgr.cxx:61
IdDictMgr::tag
const std::string & tag() const
Version tag.
Definition: IdDictMgr.cxx:57
IdDictMgr::m_generated_implementation
bool m_generated_implementation
Definition: IdDictMgr.h:73
IdDictMgr::m_subdictionary_names
std::set< std::string > m_subdictionary_names
Definition: IdDictMgr.h:71
IdDictMgr::m_tag
std::string m_tag
Definition: IdDictMgr.h:68
IdDictMgr::add_metadata
void add_metadata(const std::string &name, const std::string &value)
Definition: IdDictMgr.cxx:100
IdDictMgr::generate_implementation
void generate_implementation(const std::string &tag="")
Definition: IdDictMgr.cxx:163