1 //===-- SBSymbolContextList.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 LLDB_SBSymbolContextList_h_ 11 #define LLDB_SBSymbolContextList_h_ 12 13 #include "lldb/API/SBDefines.h" 14 #include "lldb/API/SBSymbolContext.h" 15 16 namespace lldb { 17 18 class SBSymbolContextList 19 { 20 public: 21 SBSymbolContextList (); 22 23 SBSymbolContextList (const lldb::SBSymbolContextList& rhs); 24 25 ~SBSymbolContextList (); 26 27 #ifndef SWIG 28 const lldb::SBSymbolContextList & 29 operator = (const lldb::SBSymbolContextList &rhs); 30 #endif 31 32 bool 33 IsValid () const; 34 35 uint32_t 36 GetSize() const; 37 38 SBSymbolContext 39 GetContextAtIndex (uint32_t idx); 40 41 void 42 Clear(); 43 44 protected: 45 46 friend class SBModule; 47 friend class SBTarget; 48 49 #ifndef SWIG 50 51 lldb_private::SymbolContextList* 52 operator->() const; 53 54 lldb_private::SymbolContextList& 55 operator*() const; 56 57 #endif 58 59 private: 60 std::auto_ptr<lldb_private::SymbolContextList> m_opaque_ap; 61 }; 62 63 64 } // namespace lldb 65 66 #endif // LLDB_SBSymbolContextList_h_ 67