SBTypeNameSpecifier.h revision 07baf83fe7ae25ac87d38cd4fc19647b020adfad
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 15namespace 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