48 DynamicEntryUnknown<ElfType_>,
49 DynamicEntryValue<ElfType_>,
50 DynamicEntryPointer<ElfType_>,
51 DynamicEntryString<ElfType_>,
52 DynamicEntryFlag<ElfType_>
54 public virtual Cloneable<DynamicEntry<ElfType_> >
57 std::string _tag_name;
58 typename ElfType_::Word _index;
61 DynamicEntry(
const std::string &);
62 ~DynamicEntry()
override;
63 virtual void initialize(
typename ElfType_::Word,
const typename ElfType_::DynamicEntry & entry);
65 std::string tag_name()
const
70 std::string description()
const;
96 class DynamicEntryValue :
97 public virtual DynamicEntry<ElfType_>,
99 public CloneUsingThis<DynamicEntry<ElfType_>, DynamicEntryValue<ElfType_> >
102 typename ElfType_::DynamicValue _value;
105 DynamicEntryValue(
const std::string &);
106 ~DynamicEntryValue()
override;
107 void initialize(
typename ElfType_::Word,
const typename ElfType_::DynamicEntry & entry)
override;
109 typename ElfType_::DynamicValue operator() ()
const
116 class DynamicEntryPointer :
117 public virtual DynamicEntry<ElfType_>,
119 public CloneUsingThis<DynamicEntry<ElfType_>, DynamicEntryPointer<ElfType_> >
122 typename ElfType_::DynamicPointer _pointer;
125 DynamicEntryPointer(
const std::string &);
126 ~DynamicEntryPointer()
override;
127 void initialize(
typename ElfType_::Word,
const typename ElfType_::DynamicEntry &)
override;
129 typename ElfType_::DynamicPointer operator() ()
const
141 class DynamicEntryString :
142 public virtual DynamicEntry<ElfType_>,
144 public CloneUsingThis<DynamicEntry<ElfType_>, DynamicEntryString<ElfType_> >
149 typename ElfType_::DynamicValue _value;
153 DynamicEntryString(
const std::string &);
154 ~DynamicEntryString()
override;
155 void initialize(
typename ElfType_::Word,
const typename ElfType_::DynamicEntry &)
override;
157 std::string operator() ()
const
163 void resolve_string(std::string str)
168 typename ElfType_::DynamicValue get_string_index()
const
199 public Section<ElfType_>,
206 DynamicSection(
typename ElfType_::Word,
const typename ElfType_::SectionHeader &, std::istream &,
bool);
207 ~DynamicSection()
override;
209 std::string get_type()
const override;
211 void resolve_entry_names(Section<ElfType_> &);
215 EntryIterator entry_begin()
const;
216 EntryIterator entry_end()
const;
219 return {entry_begin(), entry_end()};
Definition elf_dynamic_section.hh:89
Definition elf_dynamic_section.hh:120
Definition elf_dynamic_section.hh:145
Definition elf_dynamic_section.hh:78
Definition elf_dynamic_section.hh:100
Definition elf_dynamic_section.hh:55
Definition elf_dynamic_section.hh:195