SBTypeFilter.h revision d760907c1d42726fa0c8c48efa28385ed339bb94
1//===-- SBTypeFilter.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_SBTypeFilter_h_ 11#define LLDB_SBTypeFilter_h_ 12 13#include "lldb/API/SBDefines.h" 14 15namespace lldb { 16 17 class SBTypeFilter 18 { 19 public: 20 21 SBTypeFilter(); 22 23 SBTypeFilter (uint32_t options); // see lldb::eTypeOption values 24 25 SBTypeFilter (const lldb::SBTypeFilter &rhs); 26 27 ~SBTypeFilter (); 28 29 bool 30 IsValid() const; 31 32 uint32_t 33 GetNumberOfExpressionPaths (); 34 35 const char* 36 GetExpressionPathAtIndex (uint32_t i); 37 38 bool 39 ReplaceExpressionPathAtIndex (uint32_t i, const char* item); 40 41 void 42 AppendExpressionPath (const char* item); 43 44 void 45 Clear(); 46 47 uint32_t 48 GetOptions(); 49 50 void 51 SetOptions (uint32_t); 52 53 bool 54 GetDescription (lldb::SBStream &description, 55 lldb::DescriptionLevel description_level); 56 57 lldb::SBTypeFilter & 58 operator = (const lldb::SBTypeFilter &rhs); 59 60 bool 61 IsEqualTo (lldb::SBTypeFilter &rhs); 62 63 bool 64 operator == (lldb::SBTypeFilter &rhs); 65 66 bool 67 operator != (lldb::SBTypeFilter &rhs); 68 69 protected: 70 friend class SBDebugger; 71 friend class SBTypeCategory; 72 friend class SBValue; 73 74 lldb::TypeFilterImplSP 75 GetSP (); 76 77 void 78 SetSP (const lldb::TypeFilterImplSP &typefilter_impl_sp); 79 80 lldb::TypeFilterImplSP m_opaque_sp; 81 82 SBTypeFilter (const lldb::TypeFilterImplSP &); 83 84 bool 85 CopyOnWrite_Impl(); 86 87 }; 88 89 90} // namespace lldb 91 92#endif // LLDB_SBTypeFilter_h_ 93