]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/llvm/tools/lldb/include/lldb/API/SBTypeFilter.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / llvm / tools / lldb / include / lldb / API / SBTypeFilter.h
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
15 namespace 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_