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 16class DWARFDIECollection 17{ 18public: 19 DWARFDIECollection() : 20 m_dies() 21 { 22 } 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 42protected: 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