//===-- SBSymbolContextList.h -----------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef LLDB_SBSymbolContextList_h_ #define LLDB_SBSymbolContextList_h_ #include "lldb/API/SBDefines.h" #include "lldb/API/SBSymbolContext.h" namespace lldb { class LLDB_API SBSymbolContextList { public: SBSymbolContextList(); SBSymbolContextList(const lldb::SBSymbolContextList &rhs); ~SBSymbolContextList(); const lldb::SBSymbolContextList & operator=(const lldb::SBSymbolContextList &rhs); bool IsValid() const; uint32_t GetSize() const; lldb::SBSymbolContext GetContextAtIndex(uint32_t idx); bool GetDescription(lldb::SBStream &description); void Append(lldb::SBSymbolContext &sc); void Append(lldb::SBSymbolContextList &sc_list); void Clear(); protected: friend class SBModule; friend class SBTarget; lldb_private::SymbolContextList *operator->() const; lldb_private::SymbolContextList &operator*() const; private: std::unique_ptr m_opaque_ap; }; } // namespace lldb #endif // LLDB_SBSymbolContextList_h_