1 //===-- SBTypeNameSpecifier.h --------------------------------------*- C++
4 // The LLVM Compiler Infrastructure
6 // This file is distributed under the University of Illinois Open Source
7 // License. See LICENSE.TXT for details.
9 //===----------------------------------------------------------------------===//
11 #ifndef LLDB_SBTypeNameSpecifier_h_
12 #define LLDB_SBTypeNameSpecifier_h_
14 #include "lldb/API/SBDefines.h"
18 class LLDB_API SBTypeNameSpecifier {
20 SBTypeNameSpecifier();
22 SBTypeNameSpecifier(const char *name, bool is_regex = false);
24 SBTypeNameSpecifier(SBType type);
26 SBTypeNameSpecifier(const lldb::SBTypeNameSpecifier &rhs);
28 ~SBTypeNameSpecifier();
32 const char *GetName();
38 bool GetDescription(lldb::SBStream &description,
39 lldb::DescriptionLevel description_level);
41 lldb::SBTypeNameSpecifier &operator=(const lldb::SBTypeNameSpecifier &rhs);
43 bool IsEqualTo(lldb::SBTypeNameSpecifier &rhs);
45 bool operator==(lldb::SBTypeNameSpecifier &rhs);
47 bool operator!=(lldb::SBTypeNameSpecifier &rhs);
50 friend class SBDebugger;
51 friend class SBTypeCategory;
53 lldb::TypeNameSpecifierImplSP GetSP();
55 void SetSP(const lldb::TypeNameSpecifierImplSP &type_namespec_sp);
57 lldb::TypeNameSpecifierImplSP m_opaque_sp;
59 SBTypeNameSpecifier(const lldb::TypeNameSpecifierImplSP &);
64 #endif // LLDB_SBTypeNameSpecifier_h_