Continued ripping up the source.
[aesalon.git] / monitor / src / dwarf / AbbrevParser.h
blob3b50d0f292a3fe236fb7aeeff49084f98b604c35
1 #ifndef AESALON_MONITOR_DWARF_ABBREV_PARSER_H
2 #define AESALON_MONITOR_DWARF_ABBREV_PARSER_H
4 #include <vector>
6 #include "Types.h"
7 #include "elf/Parser.h"
8 #include "Tag.h"
10 namespace Aesalon {
11 namespace Monitor {
12 namespace DWARF {
14 class AbbrevParser {
15 protected:
16 typedef std::vector<Misc::SmartPointer<Tag> > tag_list_t;
17 private:
18 tag_list_t tag_list;
19 public:
20 AbbrevParser(Misc::SmartPointer<ELF::Parser> elf_parser);
21 virtual ~AbbrevParser();
23 Misc::SmartPointer<Tag> get_tag(std::size_t which) const { return tag_list[which]; }
26 } // namespace DWARF
27 } // namespace Monitor
28 } // namespace Aesalon
30 #endif