SBTypeFormat.h revision d760907c1d42726fa0c8c48efa28385ed339bb94
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 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