ATLAS Offline Software
Loading...
Searching...
No Matches
IdDictDictionaryRef.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef IDDICT_IdDictDictionaryRef_H
6#define IDDICT_IdDictDictionaryRef_H
7
9#include <string>
10
11class IdDictMgr;
13class IdDictRegion;
14class Range;
15
17public:
18 // ==================================
19 //** @name Constructor/destructor
20 // @{
21
22 IdDictDictionaryRef (const std::string& dictionary_name);
23 IdDictDictionaryRef (IdDictDictionary* dictionary); // For testing
24 virtual ~IdDictDictionaryRef ();
25
26
28 // ==================================
29 //** @name Simple accessors.
30 // @{
31
32 const std::string& dictionary_name() const;
33
34
36 // ==================================
37 //** @name Methods used to initialize the object.
38 // @{
39
40 virtual void resolve_references (IdDictMgr& idd,
41 IdDictDictionary& dictionary,
42 IdDictRegion& region) override;
43 virtual void generate_implementation (const IdDictMgr& idd,
44 IdDictDictionary& dictionary,
45 IdDictRegion& region,
46 const std::string& tag = "") override;
47 virtual void reset_implementation () override;
48 virtual bool verify () const override;
49 virtual Range build_range () const override;
50
51
53
54
55private:
56 std::string m_dictionary_name;
58
59 // We allow to regenerate the implementation with a tag. However,
60 // propagation of information should only be done once.
64};
65
66
67inline
68const std::string& IdDictDictionaryRef::dictionary_name() const
69{
70 return m_dictionary_name;
71}
72
73
74#endif
virtual void resolve_references(IdDictMgr &idd, IdDictDictionary &dictionary, IdDictRegion &region) override
virtual Range build_range() const override
IdDictDictionaryRef(const std::string &dictionary_name)
IdDictDictionary * m_dictionary
virtual bool verify() const override
virtual void reset_implementation() override
virtual void generate_implementation(const IdDictMgr &idd, IdDictDictionary &dictionary, IdDictRegion &region, const std::string &tag="") override
const std::string & dictionary_name() const
A Range describes the possible ranges for the field values of an ExpandedIdentifier.