LLDB API Documentation

- Main Page
- Namespaces
- Classes
- Files

- File List

SBValueList.h
Go to the documentation of this file.
1 //===-- SBValueList.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_SBValueList_h_
11 #define LLDB_SBValueList_h_
12
13 #include "lldb/API/SBDefines.h"
14
15 class ValueListImpl;
16
17 namespace lldb {
18
19 class SBValueList
20 {
21 public:
22
23 SBValueList ();
24
25 SBValueList (const lldb::SBValueList &rhs);
26
27 ~SBValueList();
28
29 bool
30 IsValid() const;
31
32 void
33 Clear();
34
35 void
36 Append (const lldb::SBValue &val_obj);
37
38 void
39 Append (const lldb::SBValueList& value_list);
40
41 uint32_t
42 GetSize() const;
43
44 lldb::SBValue
45 GetValueAtIndex (uint32_t idx) const;
46
47 lldb::SBValue
48 FindValueObjectByUID (lldb::user_id_t uid);
49
50 const lldb::SBValueList &
51 operator = (const lldb::SBValueList &rhs);
52
53 protected:
54
55 // only useful for visualizing the pointer or comparing two SBValueLists
56 // to see if they are backed by the same underlying Impl.
57 void *
58 opaque_ptr ();
59
60 private:
61 friend class SBFrame;
62
63 SBValueList (const ValueListImpl *lldb_object_ptr);
64
65 void
66 Append (lldb::ValueObjectSP& val_obj_sp);
67
68 void
69 CreateIfNeeded ();
70
71 ValueListImpl *
72 operator -> ();
73
74 ValueListImpl &
75 operator* ();
76
77 const ValueListImpl *
78 operator -> () const;
79
80 const ValueListImpl &
81 operator* () const;
82
83
84 ValueListImpl &
85 ref ();
86
87 std::unique_ptr<ValueListImpl> m_opaque_ap;
88 };
89
90
91 } // namespace lldb
92
93 #endif // LLDB_SBValueList_h_