21 #ifndef PALUDIS_GUARD_PALUDIS_UTIL_ELF_RELOCATION_SECTION_HH
22 #define PALUDIS_GUARD_PALUDIS_UTIL_ELF_RELOCATION_SECTION_HH 1
24 #include <paludis/util/elf_sections.hh>
26 #include <paludis/util/wrapped_forward_iterator-fwd.hh>
32 template <
typename ElfType_>
36 typename ElfType_::Relocation _my_relocation;
42 typename ElfType_::RelocationOffset get_offset()
const
44 return _my_relocation.r_offset;
47 typename ElfType_::RelocationInfo get_info()
const
49 return _my_relocation.r_info;
53 template <
typename ElfType_>
57 typename ElfType_::RelocationA _my_relocation;
63 typename ElfType_::RelocationOffset get_offset()
const
65 return _my_relocation.r_offset;
68 typename ElfType_::RelocationInfo get_info()
const
70 return _my_relocation.r_info;
73 typename ElfType_::RelocationAddend get_addend()
const
75 return _my_relocation.r_addend;
79 template <
typename ElfType_>
82 typedef typename ElfType_::Relocation Type;
84 const static std::string type_name;
87 template <
typename ElfType_>
90 typedef typename ElfType_::RelocationA Type;
92 const static std::string type_name;
95 template <
typename ElfType_,
typename Relocation_>
98 template <
typename ElfType_,
typename Relocation_>
107 RelocationSection(
typename ElfType_::Word,
const typename ElfType_::SectionHeader &, std::istream &,
bool);
110 virtual std::string get_type()
const
112 return Relocation_::type_name;