1254721Semaste//===-- DWARFDIECollection.h ------------------------------------*- C++ -*-===//
2254721Semaste//
3254721Semaste//                     The LLVM Compiler Infrastructure
4254721Semaste//
5254721Semaste// This file is distributed under the University of Illinois Open Source
6254721Semaste// License. See LICENSE.TXT for details.
7254721Semaste//
8254721Semaste//===----------------------------------------------------------------------===//
9254721Semaste
10254721Semaste#ifndef SymbolFileDWARF_DWARFDIECollection_h_
11254721Semaste#define SymbolFileDWARF_DWARFDIECollection_h_
12254721Semaste
13254721Semaste#include "SymbolFileDWARF.h"
14254721Semaste#include <vector>
15254721Semaste
16254721Semasteclass DWARFDIECollection
17254721Semaste{
18254721Semastepublic:
19254721Semaste    DWARFDIECollection() :
20254721Semaste        m_dies()
21254721Semaste    {
22254721Semaste    }
23254721Semaste    ~DWARFDIECollection()
24254721Semaste    {
25254721Semaste    }
26254721Semaste
27254721Semaste    void
28254721Semaste    Append (const DWARFDebugInfoEntry *die);
29254721Semaste
30254721Semaste    void
31254721Semaste    Dump(lldb_private::Stream *s, const char* title) const;
32254721Semaste
33254721Semaste    const DWARFDebugInfoEntry*
34254721Semaste    GetDIEPtrAtIndex(uint32_t idx) const;
35254721Semaste
36254721Semaste    bool
37254721Semaste    Insert(const DWARFDebugInfoEntry *die);
38254721Semaste
39254721Semaste    size_t
40254721Semaste    Size() const;
41254721Semaste
42254721Semasteprotected:
43254721Semaste    typedef std::vector<const DWARFDebugInfoEntry *>    collection;
44254721Semaste    typedef collection::iterator                iterator;
45254721Semaste    typedef collection::const_iterator          const_iterator;
46254721Semaste
47254721Semaste    collection m_dies;  // Ordered list of die offsets
48254721Semaste};
49254721Semaste
50254721Semaste
51254721Semaste#endif  // SymbolFileDWARF_DWARFDIECollection_h_
52