]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/llvm/tools/lldb/include/lldb/API/SBSymbolContextList.h
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / llvm / tools / lldb / include / lldb / API / SBSymbolContextList.h
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     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
51 protected:
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
62 private:
63     std::unique_ptr<lldb_private::SymbolContextList> m_opaque_ap;
64 };
65
66
67 } // namespace lldb
68
69 #endif // LLDB_SBSymbolContextList_h_