1 //===-- SBTypeFilter.h --------------------------------------------*- C++
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBTypeFilter_h_
11 #define LLDB_SBTypeFilter_h_
13 #include "lldb/API/SBDefines.h"
17 class LLDB_API SBTypeFilter {
21 SBTypeFilter(uint32_t options); // see lldb::eTypeOption values
23 SBTypeFilter(const lldb::SBTypeFilter &rhs);
27 explicit operator bool() const;
31 uint32_t GetNumberOfExpressionPaths();
33 const char *GetExpressionPathAtIndex(uint32_t i);
35 bool ReplaceExpressionPathAtIndex(uint32_t i, const char *item);
37 void AppendExpressionPath(const char *item);
41 uint32_t GetOptions();
43 void SetOptions(uint32_t);
45 bool GetDescription(lldb::SBStream &description,
46 lldb::DescriptionLevel description_level);
48 lldb::SBTypeFilter &operator=(const lldb::SBTypeFilter &rhs);
50 bool IsEqualTo(lldb::SBTypeFilter &rhs);
52 bool operator==(lldb::SBTypeFilter &rhs);
54 bool operator!=(lldb::SBTypeFilter &rhs);
57 friend class SBDebugger;
58 friend class SBTypeCategory;
61 lldb::TypeFilterImplSP GetSP();
63 void SetSP(const lldb::TypeFilterImplSP &typefilter_impl_sp);
65 lldb::TypeFilterImplSP m_opaque_sp;
67 SBTypeFilter(const lldb::TypeFilterImplSP &);
69 bool CopyOnWrite_Impl();
74 #endif // LLDB_SBTypeFilter_h_