1 //===-- SBTypeFormat.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_SBTypeFormat_h_ 11 #define LLDB_SBTypeFormat_h_ 12 13 #include "lldb/API/SBDefines.h" 14 15 namespace lldb { 16 17 class SBTypeFormat 18 { 19 public: 20 21 SBTypeFormat(); 22 23 SBTypeFormat (lldb::Format format, 24 uint32_t options = 0); // see lldb::eTypeOption values 25 26 SBTypeFormat (const lldb::SBTypeFormat &rhs); 27 28 ~SBTypeFormat (); 29 30 bool 31 IsValid() const; 32 33 lldb::Format 34 GetFormat (); 35 36 uint32_t 37 GetOptions(); 38 39 void 40 SetFormat (lldb::Format); 41 42 void 43 SetOptions (uint32_t); 44 45 bool 46 GetDescription (lldb::SBStream &description, 47 lldb::DescriptionLevel description_level); 48 49 lldb::SBTypeFormat & 50 operator = (const lldb::SBTypeFormat &rhs); 51 52 bool 53 IsEqualTo (lldb::SBTypeFormat &rhs); 54 55 bool 56 operator == (lldb::SBTypeFormat &rhs); 57 58 bool 59 operator != (lldb::SBTypeFormat &rhs); 60 61 protected: 62 friend class SBDebugger; 63 friend class SBTypeCategory; 64 friend class SBValue; 65 66 lldb::TypeFormatImplSP 67 GetSP (); 68 69 void 70 SetSP (const lldb::TypeFormatImplSP &typeformat_impl_sp); 71 72 lldb::TypeFormatImplSP m_opaque_sp; 73 74 SBTypeFormat (const lldb::TypeFormatImplSP &); 75 76 bool 77 CopyOnWrite_Impl(); 78 79 }; 80 81 82 } // namespace lldb 83 84 #endif // LLDB_SBTypeFormat_h_ 85