• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===-- DWARFDIECollection.h ------------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef SymbolFileDWARF_DWARFDIECollection_h_
11 #define SymbolFileDWARF_DWARFDIECollection_h_
12 
13 #include "SymbolFileDWARF.h"
14 #include <vector>
15 
16 class DWARFDIECollection
17 {
18 public:
DWARFDIECollection()19     DWARFDIECollection() :
20         m_dies()
21     {
22     }
~DWARFDIECollection()23     ~DWARFDIECollection()
24     {
25     }
26 
27     void
28     Append (const DWARFDebugInfoEntry *die);
29 
30     void
31     Dump(lldb_private::Stream *s, const char* title) const;
32 
33     const DWARFDebugInfoEntry*
34     GetDIEPtrAtIndex(uint32_t idx) const;
35 
36     bool
37     Insert(const DWARFDebugInfoEntry *die);
38 
39     size_t
40     Size() const;
41 
42 protected:
43     typedef std::vector<const DWARFDebugInfoEntry *>    collection;
44     typedef collection::iterator                iterator;
45     typedef collection::const_iterator          const_iterator;
46 
47     collection m_dies;  // Ordered list of die offsets
48 };
49 
50 
51 #endif  // SymbolFileDWARF_DWARFDIECollection_h_
52