SBSymbolContextList.h revision 4ed315fdc503cfdc18e89b1eb43bf87e07fd1673
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#ifndef SWIG
28    const lldb::SBSymbolContextList &
29    operator = (const lldb::SBSymbolContextList &rhs);
30#endif
31
32    bool
33    IsValid () const;
34
35    uint32_t
36    GetSize() const;
37
38    SBSymbolContext
39    GetContextAtIndex (uint32_t idx);
40
41    void
42    Clear();
43
44protected:
45
46    friend class SBModule;
47    friend class SBTarget;
48
49#ifndef SWIG
50
51    lldb_private::SymbolContextList*
52    operator->() const;
53
54    lldb_private::SymbolContextList&
55    operator*() const;
56
57#endif
58
59private:
60    std::auto_ptr<lldb_private::SymbolContextList> m_opaque_ap;
61};
62
63
64} // namespace lldb
65
66#endif // LLDB_SBSymbolContextList_h_
67