1 //===-- SBSymbolContextList.h -----------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBSymbolContextList_h_
11 #define LLDB_SBSymbolContextList_h_
13 #include "lldb/API/SBDefines.h"
14 #include "lldb/API/SBSymbolContext.h"
18 class LLDB_API SBSymbolContextList {
20 SBSymbolContextList();
22 SBSymbolContextList(const lldb::SBSymbolContextList &rhs);
24 ~SBSymbolContextList();
26 const lldb::SBSymbolContextList &
27 operator=(const lldb::SBSymbolContextList &rhs);
31 uint32_t GetSize() const;
33 lldb::SBSymbolContext GetContextAtIndex(uint32_t idx);
35 bool GetDescription(lldb::SBStream &description);
37 void Append(lldb::SBSymbolContext &sc);
39 void Append(lldb::SBSymbolContextList &sc_list);
44 friend class SBModule;
45 friend class SBTarget;
47 lldb_private::SymbolContextList *operator->() const;
49 lldb_private::SymbolContextList &operator*() const;
52 std::unique_ptr<lldb_private::SymbolContextList> m_opaque_ap;
57 #endif // LLDB_SBSymbolContextList_h_