Add a ELFSectionRef class and use it to expose getSectionType.
[oota-llvm.git] / include / llvm / Object / Archive.h
index 4f8e28172c8d7edb67b000c5603d7238bfc9e12d..8da6919a46555cf515e8ab379c87f2bf47fcf9a1 100644 (file)
@@ -155,9 +155,8 @@ public:
     Symbol symbol;
   public:
     symbol_iterator(const Symbol &s) : symbol(s) {}
-    const Symbol *operator->() const {
-      return &symbol;
-    }
+    const Symbol *operator->() const { return &symbol; }
+    const Symbol &operator*() const { return symbol; }
 
     bool operator==(const symbol_iterator &other) const {
       return symbol == other.symbol;
@@ -194,6 +193,9 @@ public:
 
   symbol_iterator symbol_begin() const;
   symbol_iterator symbol_end() const;
+  iterator_range<symbol_iterator> symbols() const {
+    return iterator_range<symbol_iterator>(symbol_begin(), symbol_end());
+  }
 
   // Cast methods.
   static inline bool classof(Binary const *v) {
@@ -205,6 +207,7 @@ public:
 
   bool hasSymbolTable() const;
   child_iterator getSymbolTableChild() const { return SymbolTable; }
+  uint32_t getNumberOfSymbols() const;
 
 private:
   child_iterator SymbolTable;