File indexing completed on 2026-05-10 08:42:43
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef LLDB_API_SBTYPENAMESPECIFIER_H
0011 #define LLDB_API_SBTYPENAMESPECIFIER_H
0012
0013 #include "lldb/API/SBDefines.h"
0014
0015 namespace lldb {
0016
0017 class LLDB_API SBTypeNameSpecifier {
0018 public:
0019 SBTypeNameSpecifier();
0020
0021 SBTypeNameSpecifier(const char *name, bool is_regex = false);
0022
0023 SBTypeNameSpecifier(const char *name,
0024 lldb::FormatterMatchType match_type);
0025
0026 SBTypeNameSpecifier(SBType type);
0027
0028 SBTypeNameSpecifier(const lldb::SBTypeNameSpecifier &rhs);
0029
0030 ~SBTypeNameSpecifier();
0031
0032 explicit operator bool() const;
0033
0034 bool IsValid() const;
0035
0036 const char *GetName();
0037
0038 SBType GetType();
0039
0040 lldb::FormatterMatchType GetMatchType();
0041
0042 bool IsRegex();
0043
0044 bool GetDescription(lldb::SBStream &description,
0045 lldb::DescriptionLevel description_level);
0046
0047 lldb::SBTypeNameSpecifier &operator=(const lldb::SBTypeNameSpecifier &rhs);
0048
0049 bool IsEqualTo(lldb::SBTypeNameSpecifier &rhs);
0050
0051 bool operator==(lldb::SBTypeNameSpecifier &rhs);
0052
0053 bool operator!=(lldb::SBTypeNameSpecifier &rhs);
0054
0055 protected:
0056 friend class SBDebugger;
0057 friend class SBTypeCategory;
0058
0059 lldb::TypeNameSpecifierImplSP GetSP();
0060
0061 void SetSP(const lldb::TypeNameSpecifierImplSP &type_namespec_sp);
0062
0063 lldb::TypeNameSpecifierImplSP m_opaque_sp;
0064
0065 SBTypeNameSpecifier(const lldb::TypeNameSpecifierImplSP &);
0066 };
0067
0068 }
0069
0070 #endif