SBValueList.h revision 63094e0bb161580564954dee512955c1c79d3476
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 15namespace lldb { 16 17class SBValueList 18{ 19public: 20 21 SBValueList (); 22 23 SBValueList (const lldb::SBValueList &rhs); 24 25 ~SBValueList(); 26 27 bool 28 IsValid() const; 29 30 void 31 Append (const lldb::SBValue &val_obj); 32 33 uint32_t 34 GetSize() const; 35 36 lldb::SBValue 37 GetValueAtIndex (uint32_t idx) const; 38 39 lldb::SBValue 40 FindValueObjectByUID (lldb::user_id_t uid); 41 42 43#ifndef SWIG 44 const lldb::SBValueList & 45 operator = (const lldb::SBValueList &rhs); 46 47 lldb_private::ValueObjectList * 48 operator -> (); 49 50 lldb_private::ValueObjectList & 51 operator* (); 52 53 const lldb_private::ValueObjectList * 54 operator -> () const; 55 56 const lldb_private::ValueObjectList & 57 operator* () const; 58#endif 59 60private: 61 friend class SBFrame; 62 63 SBValueList (const lldb_private::ValueObjectList *lldb_object_ptr); 64 65 void 66 Append (lldb::ValueObjectSP& val_obj_sp); 67 68 void 69 CreateIfNeeded (); 70 71 std::auto_ptr<lldb_private::ValueObjectList> m_opaque_ap; 72}; 73 74 75} // namespace lldb 76 77#endif // LLDB_SBValueList_h_ 78