1254721Semaste//===-- SBTypeFormat.h --------------------------------------------*- C++ -*-===// 2254721Semaste// 3254721Semaste// The LLVM Compiler Infrastructure 4254721Semaste// 5254721Semaste// This file is distributed under the University of Illinois Open Source 6254721Semaste// License. See LICENSE.TXT for details. 7254721Semaste// 8254721Semaste//===----------------------------------------------------------------------===// 9254721Semaste 10254721Semaste#ifndef LLDB_SBTypeFormat_h_ 11254721Semaste#define LLDB_SBTypeFormat_h_ 12254721Semaste 13254721Semaste#include "lldb/API/SBDefines.h" 14254721Semaste 15254721Semastenamespace lldb { 16254721Semaste 17254721Semasteclass SBTypeFormat 18254721Semaste{ 19254721Semastepublic: 20254721Semaste 21254721Semaste SBTypeFormat(); 22254721Semaste 23254721Semaste SBTypeFormat (lldb::Format format, 24254721Semaste uint32_t options = 0); // see lldb::eTypeOption values 25269024Semaste 26269024Semaste SBTypeFormat (const char* type, 27269024Semaste uint32_t options = 0); // see lldb::eTypeOption values 28254721Semaste 29254721Semaste SBTypeFormat (const lldb::SBTypeFormat &rhs); 30254721Semaste 31254721Semaste ~SBTypeFormat (); 32254721Semaste 33254721Semaste bool 34254721Semaste IsValid() const; 35254721Semaste 36254721Semaste lldb::Format 37254721Semaste GetFormat (); 38254721Semaste 39269024Semaste const char* 40269024Semaste GetTypeName (); 41269024Semaste 42254721Semaste uint32_t 43254721Semaste GetOptions(); 44254721Semaste 45254721Semaste void 46254721Semaste SetFormat (lldb::Format); 47254721Semaste 48254721Semaste void 49269024Semaste SetTypeName (const char*); 50269024Semaste 51269024Semaste void 52254721Semaste SetOptions (uint32_t); 53254721Semaste 54254721Semaste bool 55254721Semaste GetDescription (lldb::SBStream &description, 56254721Semaste lldb::DescriptionLevel description_level); 57254721Semaste 58254721Semaste lldb::SBTypeFormat & 59254721Semaste operator = (const lldb::SBTypeFormat &rhs); 60254721Semaste 61254721Semaste bool 62254721Semaste IsEqualTo (lldb::SBTypeFormat &rhs); 63254721Semaste 64254721Semaste bool 65254721Semaste operator == (lldb::SBTypeFormat &rhs); 66254721Semaste 67254721Semaste bool 68254721Semaste operator != (lldb::SBTypeFormat &rhs); 69254721Semaste 70254721Semasteprotected: 71254721Semaste friend class SBDebugger; 72254721Semaste friend class SBTypeCategory; 73254721Semaste friend class SBValue; 74254721Semaste 75254721Semaste lldb::TypeFormatImplSP 76254721Semaste GetSP (); 77254721Semaste 78254721Semaste void 79254721Semaste SetSP (const lldb::TypeFormatImplSP &typeformat_impl_sp); 80254721Semaste 81254721Semaste lldb::TypeFormatImplSP m_opaque_sp; 82254721Semaste 83254721Semaste SBTypeFormat (const lldb::TypeFormatImplSP &); 84254721Semaste 85269024Semaste enum class Type 86269024Semaste { 87269024Semaste eTypeKeepSame, 88269024Semaste eTypeFormat, 89269024Semaste eTypeEnum 90269024Semaste }; 91269024Semaste 92254721Semaste bool 93269024Semaste CopyOnWrite_Impl(Type); 94254721Semaste 95254721Semaste}; 96254721Semaste 97254721Semaste 98254721Semaste} // namespace lldb 99254721Semaste 100254721Semaste#endif // LLDB_SBTypeFormat_h_ 101