ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
DetectorDescription
IdDict
IdDict
IdDictMgr.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 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
#include <string_view>
12
#include <vector>
13
#include <memory>
14
15
class
IdDictDictionary
;
16
17
class
IdDictMgr
{
18
public
:
19
using
dictionary_vec
= std::vector<const IdDictDictionary*>;
20
using
metadata_map
= std::map<std::string, std::string>;
21
22
IdDictMgr
();
23
~IdDictMgr
();
24
26
const
std::string&
tag
()
const
;
27
29
const
IdDictDictionary
*
find_dictionary
(
const
std::string& name)
const
;
30
IdDictDictionary
*
find_dictionary
(
const
std::string& name);
31
33
dictionary_vec
get_dictionaries
()
const
;
34
36
const
std::string&
DTD_version
()
const
;
37
39
bool
do_checks
()
const
;
40
42
bool
do_neighbours
()
const
;
43
45
const
std::string&
find_metadata
(
const
std::string& name)
const
;
46
48
void
add_dictionary
(std::unique_ptr<IdDictDictionary> dictionary);
49
void
add_subdictionary_name
(
const
std::string& name);
50
void
add_metadata
(
const
std::string& name,
const
std::string& value);
51
void
set_DTD_version
(
const
std::string&
DTD_version
);
52
void
set_do_checks
(
bool
do_checks
);
53
void
set_do_neighbours
(
bool
do_neighbours
);
54
55
57
void
resolve_references
();
58
void
generate_implementation
(std::string_view
tag
=
""
);
59
61
void
reset_implementation
();
62
void
clear
();
63
64
bool
verify
()
const
;
65
66
67
private
:
68
69
using
dictionary_map
= std::map<std::string, std::unique_ptr<IdDictDictionary> >;
70
71
void
find_subdicts
(
IdDictDictionary
* dict);
72
73
std::string
m_DTD_version
;
74
std::string
m_tag
;
75
dictionary_map
m_dictionaries
;
76
metadata_map
m_metadata
;
77
std::set<std::string>
m_subdictionary_names
;
78
bool
m_resolved_references
;
79
bool
m_generated_implementation
;
80
bool
m_do_checks
;
81
bool
m_do_neighbours
;
82
};
83
84
#endif
IdDictDictionary
Definition
IdDictDictionary.h:33
IdDictMgr::add_dictionary
void add_dictionary(std::unique_ptr< IdDictDictionary > dictionary)
Fillers:
Definition
IdDictMgr.cxx:128
IdDictMgr::tag
const std::string & tag() const
Version tag.
Definition
IdDictMgr.cxx:54
IdDictMgr::resolve_references
void resolve_references()
Construct dictionary after parsing.
Definition
IdDictMgr.cxx:148
IdDictMgr::set_DTD_version
void set_DTD_version(const std::string &DTD_version)
Definition
IdDictMgr.cxx:102
IdDictMgr::generate_implementation
void generate_implementation(std::string_view tag="")
Definition
IdDictMgr.cxx:157
IdDictMgr::add_metadata
void add_metadata(const std::string &name, const std::string &value)
Definition
IdDictMgr.cxx:95
IdDictMgr::dictionary_map
std::map< std::string, std::unique_ptr< IdDictDictionary > > dictionary_map
Definition
IdDictMgr.h:69
IdDictMgr::set_do_neighbours
void set_do_neighbours(bool do_neighbours)
Definition
IdDictMgr.cxx:79
IdDictMgr::verify
bool verify() const
Definition
IdDictMgr.cxx:193
IdDictMgr::m_metadata
metadata_map m_metadata
Definition
IdDictMgr.h:76
IdDictMgr::do_checks
bool do_checks() const
Check whether or not to do checks for ids.
Definition
IdDictMgr.cxx:62
IdDictMgr::do_neighbours
bool do_neighbours() const
Check whether or not to init neighbours.
Definition
IdDictMgr.cxx:74
IdDictMgr::set_do_checks
void set_do_checks(bool do_checks)
Definition
IdDictMgr.cxx:67
IdDictMgr::get_dictionaries
dictionary_vec get_dictionaries() const
Access to all dictionaries.
Definition
IdDictMgr.cxx:106
IdDictMgr::add_subdictionary_name
void add_subdictionary_name(const std::string &name)
Definition
IdDictMgr.cxx:144
IdDictMgr::m_subdictionary_names
std::set< std::string > m_subdictionary_names
Definition
IdDictMgr.h:77
IdDictMgr::m_dictionaries
dictionary_map m_dictionaries
Definition
IdDictMgr.h:75
IdDictMgr::find_dictionary
const IdDictDictionary * find_dictionary(const std::string &name) const
Access dictionary by name.
Definition
IdDictMgr.cxx:116
IdDictMgr::find_metadata
const std::string & find_metadata(const std::string &name) const
Access to meta data, name/value pairs.
Definition
IdDictMgr.cxx:87
IdDictMgr::IdDictMgr
IdDictMgr()
Definition
IdDictMgr.cxx:44
IdDictMgr::reset_implementation
void reset_implementation()
Reset of implementation.
Definition
IdDictMgr.cxx:178
IdDictMgr::clear
void clear()
Definition
IdDictMgr.cxx:201
IdDictMgr::m_do_neighbours
bool m_do_neighbours
Definition
IdDictMgr.h:81
IdDictMgr::metadata_map
std::map< std::string, std::string > metadata_map
Definition
IdDictMgr.h:20
IdDictMgr::~IdDictMgr
~IdDictMgr()
IdDictMgr::dictionary_vec
std::vector< const IdDictDictionary * > dictionary_vec
Definition
IdDictMgr.h:19
IdDictMgr::m_tag
std::string m_tag
Definition
IdDictMgr.h:74
IdDictMgr::DTD_version
const std::string & DTD_version() const
DTD version.
Definition
IdDictMgr.cxx:58
IdDictMgr::m_generated_implementation
bool m_generated_implementation
Definition
IdDictMgr.h:79
IdDictMgr::m_do_checks
bool m_do_checks
Definition
IdDictMgr.h:80
IdDictMgr::find_subdicts
void find_subdicts(IdDictDictionary *dict)
IdDictMgr::m_resolved_references
bool m_resolved_references
Definition
IdDictMgr.h:78
IdDictMgr::m_DTD_version
std::string m_DTD_version
Definition
IdDictMgr.h:73
Generated on
for ATLAS Offline Software by
1.17.0