SBTypeNameSpecifier.h revision 16376ed044df3ee70fcf69e19f06af01e71a8e9a
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 (const lldb::SBTypeNameSpecifier &rhs); 27 28 ~SBTypeNameSpecifier (); 29 30 bool 31 IsValid() const; 32 33 const char* 34 GetName(); 35 36 bool 37 IsRegex(); 38 39 bool 40 GetDescription (lldb::SBStream &description, 41 lldb::DescriptionLevel description_level); 42 43 lldb::SBTypeNameSpecifier & 44 operator = (const lldb::SBTypeNameSpecifier &rhs); 45 46 bool 47 IsEqualTo (lldb::SBTypeNameSpecifier &rhs); 48 49 bool 50 operator == (lldb::SBTypeNameSpecifier &rhs); 51 52 bool 53 operator != (lldb::SBTypeNameSpecifier &rhs); 54 55 protected: 56 friend class SBTypeCategory; 57 58 lldb::TypeNameSpecifierImplSP 59 GetSP (); 60 61 void 62 SetSP (const lldb::TypeNameSpecifierImplSP &type_namespec_sp); 63 64 lldb::TypeNameSpecifierImplSP m_opaque_sp; 65 66 SBTypeNameSpecifier (const lldb::TypeNameSpecifierImplSP &); 67 }; 68 69} // namespace lldb 70 71#endif // LLDB_SBTypeNameSpecifier_h_ 72