summaryrefslogtreecommitdiff
path: root/include/lldb/API/SBValueList.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-06-08 16:52:24 +0000
committerChris Lattner <sabre@nondot.org>2010-06-08 16:52:24 +0000
commit24943d2ee8bfaa7cf5893e4709143924157a5c1e (patch)
treedcbf999766d64934ee81a5c8ae90dfa92342e7b1 /include/lldb/API/SBValueList.h
parentbc2e491a7e08efa3be819f3e51b83507c32b16e8 (diff)
Initial checkin of lldb code from internal Apple repo.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105619 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/lldb/API/SBValueList.h')
-rw-r--r--include/lldb/API/SBValueList.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/include/lldb/API/SBValueList.h b/include/lldb/API/SBValueList.h
new file mode 100644
index 000000000..49b5fef10
--- /dev/null
+++ b/include/lldb/API/SBValueList.h
@@ -0,0 +1,79 @@
+//===-- SBValueList.h -------------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLDB_SBValueList_h_
+#define LLDB_SBValueList_h_
+
+#include <LLDB/SBDefines.h>
+
+class lldb_private::ValueObjectList;
+
+namespace lldb {
+
+class SBValueList
+{
+public:
+
+ SBValueList ();
+
+ SBValueList (const lldb::SBValueList &rhs);
+
+ ~SBValueList();
+
+ bool
+ IsValid() const;
+
+ void
+ Append (const lldb::SBValue &val_obj);
+
+ uint32_t
+ GetSize() const;
+
+ lldb::SBValue
+ GetValueAtIndex (uint32_t idx) const;
+
+ lldb::SBValue
+ FindValueObjectByUID (lldb::user_id_t uid);
+
+
+#ifndef SWIG
+ const lldb::SBValueList &
+ operator = (const lldb::SBValueList &rhs);
+
+ lldb_private::ValueObjectList *
+ operator -> ();
+
+ lldb_private::ValueObjectList &
+ operator* ();
+
+ const lldb_private::ValueObjectList *
+ operator -> () const;
+
+ const lldb_private::ValueObjectList &
+ operator* () const;
+#endif
+
+private:
+ friend class SBFrame;
+
+ SBValueList (const lldb_private::ValueObjectList *lldb_object_ptr);
+
+ void
+ Append (lldb::ValueObjectSP& val_obj_sp);
+
+ void
+ CreateIfNeeded ();
+
+ std::auto_ptr<lldb_private::ValueObjectList> m_lldb_object_ap;
+};
+
+
+} // namespace lldb
+
+#endif // LLDB_SBValueList_h_