1254721Semaste//===-- SBSymbolContextList.h -----------------------------------*- C++ -*-===// 2254721Semaste// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6254721Semaste// 7254721Semaste//===----------------------------------------------------------------------===// 8254721Semaste 9254721Semaste#ifndef LLDB_SBSymbolContextList_h_ 10254721Semaste#define LLDB_SBSymbolContextList_h_ 11254721Semaste 12254721Semaste#include "lldb/API/SBDefines.h" 13254721Semaste#include "lldb/API/SBSymbolContext.h" 14254721Semaste 15254721Semastenamespace lldb { 16254721Semaste 17314564Sdimclass LLDB_API SBSymbolContextList { 18254721Semastepublic: 19314564Sdim SBSymbolContextList(); 20254721Semaste 21314564Sdim SBSymbolContextList(const lldb::SBSymbolContextList &rhs); 22254721Semaste 23314564Sdim ~SBSymbolContextList(); 24254721Semaste 25314564Sdim const lldb::SBSymbolContextList & 26314564Sdim operator=(const lldb::SBSymbolContextList &rhs); 27254721Semaste 28353358Sdim explicit operator bool() const; 29353358Sdim 30314564Sdim bool IsValid() const; 31254721Semaste 32314564Sdim uint32_t GetSize() const; 33254721Semaste 34314564Sdim lldb::SBSymbolContext GetContextAtIndex(uint32_t idx); 35254721Semaste 36314564Sdim bool GetDescription(lldb::SBStream &description); 37254721Semaste 38314564Sdim void Append(lldb::SBSymbolContext &sc); 39314564Sdim 40314564Sdim void Append(lldb::SBSymbolContextList &sc_list); 41314564Sdim 42314564Sdim void Clear(); 43314564Sdim 44254721Semasteprotected: 45314564Sdim friend class SBModule; 46314564Sdim friend class SBTarget; 47254721Semaste 48314564Sdim lldb_private::SymbolContextList *operator->() const; 49254721Semaste 50314564Sdim lldb_private::SymbolContextList &operator*() const; 51254721Semaste 52254721Semasteprivate: 53353358Sdim std::unique_ptr<lldb_private::SymbolContextList> m_opaque_up; 54254721Semaste}; 55254721Semaste 56254721Semaste} // namespace lldb 57254721Semaste 58254721Semaste#endif // LLDB_SBSymbolContextList_h_ 59