 |
ATLAS Offline Software
|
Go to the documentation of this file.
17 m_dictionary_name(dictionary_name),
18 m_dictionary(nullptr),
19 m_resolved_references(false),
20 m_generated_implementation(false),
21 m_propagated_information(false) {
27 m_resolved_references(true),
28 m_generated_implementation(false),
29 m_propagated_information(false) {
51 const std::string&
tag) {
67 std::vector<IdDictRegionEntry*> prepend_entries;
68 for (
const std::unique_ptr<IdDictRegionEntry>&
entry : region.
entries()) {
69 if (
this ==
entry.get())
break;
74 prepend_entries.insert(prepend_entries.begin(),
entry.get());
86 region2->prepend_entry(std::make_unique<IdDictRangeRef> (*
range));
93 if (prepend_entries.size() > 0) {
96 size_t region_number = region2.
index() + 1;
100 auto new_region = std::make_unique<IdDictRegion> (
"dummy",
"dummy",
"");
102 new_region->set_index (region_number++);
106 for (
const std::unique_ptr<IdDictRegionEntry>&
entry : region3->entries()) {
107 if (
i++ >= prepend_entries.size())
continue;
111 new_region->add_entry(std::make_unique<IdDictRangeRef> (*
range));
127 "IdDictDictionaryRef::generate_implementation: - WARNING no dictionary named " <<
m_dictionary_name <<
" found, cannot generate implementation "
const std::vector< IdDictRegion * > & all_regions()
Non-const access to vector of all regions.
virtual bool verify() const override
virtual Range build_range() const override
void generate_implementation(const IdDictMgr &idd, const std::string &tag="")
void resolve_references(IdDictMgr &idd)
virtual ~IdDictDictionaryRef()
IdDictDictionaryRef(const std::string &dictionary_name)
std::string m_dictionary_name
void reset_implementation()
virtual void generate_implementation(const IdDictMgr &idd, IdDictDictionary &dictionary, IdDictRegion ®ion, const std::string &tag="") override
bool m_propagated_information
void add_region(IdDictRegion *region)
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
const IdDictDictionary * find_dictionary(const std::string &name) const
Access dictionary by name.
void set_parent_dict(IdDictDictionary *parent_dict)
IdDictDictionary * m_dictionary
virtual void reset_implementation() override
bool m_generated_implementation
bool m_resolved_references
void add_dictentry(std::unique_ptr< IdDictDictEntry > entry)
const std::vector< std::unique_ptr< IdDictRegionEntry > > & entries()
Non-const access to entry pointers.
virtual void resolve_references(IdDictMgr &idd, IdDictDictionary &dictionary, IdDictRegion ®ion) override