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

source code of lldb/include/lldb/API/SBTypeFilter.h