1 //===-- SBTypeNameSpecifier.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_SBTypeNameSpecifier_h_ 11 #define LLDB_SBTypeNameSpecifier_h_ 12 13 #include "lldb/API/SBDefines.h" 14 15 namespace lldb { 16 17 class SBTypeNameSpecifier 18 { 19 public: 20 21 SBTypeNameSpecifier(); 22 23 SBTypeNameSpecifier (const char* name, 24 bool is_regex = false); 25 26 SBTypeNameSpecifier (SBType type); 27 28 SBTypeNameSpecifier (const lldb::SBTypeNameSpecifier &rhs); 29 30 ~SBTypeNameSpecifier (); 31 32 bool 33 IsValid() const; 34 35 const char* 36 GetName(); 37 38 SBType 39 GetType (); 40 41 bool 42 IsRegex(); 43 44 bool 45 GetDescription (lldb::SBStream &description, 46 lldb::DescriptionLevel description_level); 47 48 lldb::SBTypeNameSpecifier & 49 operator = (const lldb::SBTypeNameSpecifier &rhs); 50 51 bool 52 IsEqualTo (lldb::SBTypeNameSpecifier &rhs); 53 54 bool 55 operator == (lldb::SBTypeNameSpecifier &rhs); 56 57 bool 58 operator != (lldb::SBTypeNameSpecifier &rhs); 59 60 protected: 61 friend class SBDebugger; 62 friend class SBTypeCategory; 63 64 lldb::TypeNameSpecifierImplSP 65 GetSP (); 66 67 void 68 SetSP (const lldb::TypeNameSpecifierImplSP &type_namespec_sp); 69 70 lldb::TypeNameSpecifierImplSP m_opaque_sp; 71 72 SBTypeNameSpecifier (const lldb::TypeNameSpecifierImplSP &); 73 }; 74 75 } // namespace lldb 76 77 #endif // LLDB_SBTypeNameSpecifier_h_ 78