1 //===-- SBTypeFilter.h --------------------------------------------*- C++
4 // The LLVM Compiler Infrastructure
6 // This file is distributed under the University of Illinois Open Source
7 // License. See LICENSE.TXT for details.
9 //===----------------------------------------------------------------------===//
11 #ifndef LLDB_SBTypeFilter_h_
12 #define LLDB_SBTypeFilter_h_
14 #include "lldb/API/SBDefines.h"
18 class LLDB_API SBTypeFilter {
22 SBTypeFilter(uint32_t options); // see lldb::eTypeOption values
24 SBTypeFilter(const lldb::SBTypeFilter &rhs);
30 uint32_t GetNumberOfExpressionPaths();
32 const char *GetExpressionPathAtIndex(uint32_t i);
34 bool ReplaceExpressionPathAtIndex(uint32_t i, const char *item);
36 void AppendExpressionPath(const char *item);
40 uint32_t GetOptions();
42 void SetOptions(uint32_t);
44 bool GetDescription(lldb::SBStream &description,
45 lldb::DescriptionLevel description_level);
47 lldb::SBTypeFilter &operator=(const lldb::SBTypeFilter &rhs);
49 bool IsEqualTo(lldb::SBTypeFilter &rhs);
51 bool operator==(lldb::SBTypeFilter &rhs);
53 bool operator!=(lldb::SBTypeFilter &rhs);
56 friend class SBDebugger;
57 friend class SBTypeCategory;
60 lldb::TypeFilterImplSP GetSP();
62 void SetSP(const lldb::TypeFilterImplSP &typefilter_impl_sp);
64 lldb::TypeFilterImplSP m_opaque_sp;
66 SBTypeFilter(const lldb::TypeFilterImplSP &);
68 bool CopyOnWrite_Impl();
73 #endif // LLDB_SBTypeFilter_h_