SBTypeFormat.h revision 16376ed044df3ee70fcf69e19f06af01e71a8e9a
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 15namespace lldb { 16 17class SBTypeFormat 18{ 19public: 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 61protected: 62 friend class SBDebugger; 63 friend class SBTypeCategory; 64 65 lldb::TypeFormatImplSP 66 GetSP (); 67 68 void 69 SetSP (const lldb::TypeFormatImplSP &typeformat_impl_sp); 70 71 lldb::TypeFormatImplSP m_opaque_sp; 72 73 SBTypeFormat (const lldb::TypeFormatImplSP &); 74 75 bool 76 CopyOnWrite_Impl(); 77 78}; 79 80 81} // namespace lldb 82 83#endif // LLDB_SBTypeFormat_h_ 84