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