[docs] Update link title
[oota-llvm.git] / lib / DebugInfo / DWARFDebugArangeSet.h
index 56bebc5379fa7efacf2fde31840b3c8d0588e16e..c18b3c5e5046ddfc23ea87752203ef124aab2599 100644 (file)
@@ -10,6 +10,7 @@
 #ifndef LLVM_DEBUGINFO_DWARFDEBUGARANGESET_H
 #define LLVM_DEBUGINFO_DWARFDEBUGARANGESET_H
 
+#include "llvm/ADT/iterator_range.h"
 #include "llvm/Support/DataExtractor.h"
 #include <vector>
 
@@ -23,11 +24,11 @@ public:
     // The total length of the entries for that set, not including the length
     // field itself.
     uint32_t Length;
-    // The DWARF version number.
-    uint16_t Version;
     // The offset from the beginning of the .debug_info section of the
     // compilation unit entry referenced by the table.
     uint32_t CuOffset;
+    // The DWARF version number.
+    uint16_t Version;
     // The size in bytes of an address on the target architecture. For segmented
     // addressing, this is the size of the offset portion of the address.
     uint8_t AddrSize;
@@ -44,30 +45,25 @@ public:
 
 private:
   typedef std::vector<Descriptor> DescriptorColl;
-  typedef DescriptorColl::iterator DescriptorIter;
-  typedef DescriptorColl::const_iterator DescriptorConstIter;
+  typedef iterator_range<DescriptorColl::const_iterator> desc_iterator_range;
 
   uint32_t Offset;
-  Header Header;
+  Header HeaderData;
   DescriptorColl ArangeDescriptors;
 
 public:
   DWARFDebugArangeSet() { clear(); }
   void clear();
-  void compact();
   bool extract(DataExtractor data, uint32_t *offset_ptr);
   void dump(raw_ostream &OS) const;
 
-  uint32_t getCompileUnitDIEOffset() const { return Header.CuOffset; }
-  uint32_t getOffsetOfNextEntry() const { return Offset + Header.Length + 4; }
-  uint32_t findAddress(uint64_t address) const;
-  uint32_t getNumDescriptors() const { return ArangeDescriptors.size(); }
-  const struct Header &getHeader() const { return Header; }
-  const Descriptor *getDescriptor(uint32_t i) const {
-    if (i < ArangeDescriptors.size())
-      return &ArangeDescriptors[i];
-    return NULL;
+  uint32_t getCompileUnitDIEOffset() const { return HeaderData.CuOffset; }
+
+  desc_iterator_range descriptors() const {
+    return desc_iterator_range(ArangeDescriptors.begin(),
+                               ArangeDescriptors.end());
   }
+  uint32_t getNumDescriptors() const { return ArangeDescriptors.size(); }
 };
 
 }