LLDB mainline
MsvcStl.cpp File Reference

Go to the source code of this file.

Functions

template<StringElementType element_type>
static constexpr uint64_t StringElementByteSize ()
static ValueObjectSP ExtractMsvcStlStringData (ValueObject &valobj)
static std::optional< std::pair< uint64_t, ValueObjectSP > > ExtractMsvcStlStringInfo (ValueObject &valobj, uint64_t element_size)
 Determine the size in bytes of valobj (a MSVC STL std::string object) and extract its data payload.
template<StringPrinter::StringElementType element_type>
static bool MsvcStlStringSummaryProviderImpl (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options, std::string prefix_token)
template<StringPrinter::StringElementType element_type>
static bool formatStringImpl (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options, std::string prefix_token)
template<StringPrinter::StringElementType element_type>
static bool formatStringViewImpl (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options, std::string prefix_token)
template<>
bool lldb_private::formatters::MsvcStlStringSummaryProvider< StringElementType::ASCII > (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options)
template<>
bool lldb_private::formatters::MsvcStlStringSummaryProvider< StringElementType::UTF8 > (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options)
template<>
bool lldb_private::formatters::MsvcStlStringSummaryProvider< StringElementType::UTF16 > (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options)
template<>
bool lldb_private::formatters::MsvcStlStringSummaryProvider< StringElementType::UTF32 > (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options)
template<>
bool lldb_private::formatters::MsvcStlStringViewSummaryProvider< StringElementType::ASCII > (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options)
template<>
bool lldb_private::formatters::MsvcStlStringViewSummaryProvider< StringElementType::UTF8 > (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options)
template<>
bool lldb_private::formatters::MsvcStlStringViewSummaryProvider< StringElementType::UTF16 > (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options)
template<>
bool lldb_private::formatters::MsvcStlStringViewSummaryProvider< StringElementType::UTF32 > (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options)

Function Documentation

◆ ExtractMsvcStlStringData()

ValueObjectSP ExtractMsvcStlStringData ( ValueObject & valobj)
static

Definition at line 46 of file MsvcStl.cpp.

References lldb_private::ValueObject::GetChildAtNamePath().

Referenced by ExtractMsvcStlStringInfo().

◆ ExtractMsvcStlStringInfo()

std::optional< std::pair< uint64_t, ValueObjectSP > > ExtractMsvcStlStringInfo ( ValueObject & valobj,
uint64_t element_size )
static

Determine the size in bytes of valobj (a MSVC STL std::string object) and extract its data payload.

Return the size + payload pair.

Definition at line 53 of file MsvcStl.cpp.

References ExtractMsvcStlStringData().

Referenced by MsvcStlStringSummaryProviderImpl().

◆ formatStringImpl()

template<StringPrinter::StringElementType element_type>
bool formatStringImpl ( ValueObject & valobj,
Stream & stream,
const TypeSummaryOptions & summary_options,
std::string prefix_token )
static

◆ formatStringViewImpl()

◆ lldb_private::formatters::MsvcStlStringSummaryProvider< StringElementType::ASCII >()

template<>
bool lldb_private::formatters::MsvcStlStringSummaryProvider< StringElementType::ASCII > ( ValueObject & valobj,
Stream & stream,
const TypeSummaryOptions & summary_options )

◆ lldb_private::formatters::MsvcStlStringSummaryProvider< StringElementType::UTF16 >()

template<>
bool lldb_private::formatters::MsvcStlStringSummaryProvider< StringElementType::UTF16 > ( ValueObject & valobj,
Stream & stream,
const TypeSummaryOptions & summary_options )

◆ lldb_private::formatters::MsvcStlStringSummaryProvider< StringElementType::UTF32 >()

template<>
bool lldb_private::formatters::MsvcStlStringSummaryProvider< StringElementType::UTF32 > ( ValueObject & valobj,
Stream & stream,
const TypeSummaryOptions & summary_options )

◆ lldb_private::formatters::MsvcStlStringSummaryProvider< StringElementType::UTF8 >()

template<>
bool lldb_private::formatters::MsvcStlStringSummaryProvider< StringElementType::UTF8 > ( ValueObject & valobj,
Stream & stream,
const TypeSummaryOptions & summary_options )

◆ lldb_private::formatters::MsvcStlStringViewSummaryProvider< StringElementType::ASCII >()

template<>
bool lldb_private::formatters::MsvcStlStringViewSummaryProvider< StringElementType::ASCII > ( ValueObject & valobj,
Stream & stream,
const TypeSummaryOptions & summary_options )

◆ lldb_private::formatters::MsvcStlStringViewSummaryProvider< StringElementType::UTF16 >()

template<>
bool lldb_private::formatters::MsvcStlStringViewSummaryProvider< StringElementType::UTF16 > ( ValueObject & valobj,
Stream & stream,
const TypeSummaryOptions & summary_options )

◆ lldb_private::formatters::MsvcStlStringViewSummaryProvider< StringElementType::UTF32 >()

template<>
bool lldb_private::formatters::MsvcStlStringViewSummaryProvider< StringElementType::UTF32 > ( ValueObject & valobj,
Stream & stream,
const TypeSummaryOptions & summary_options )

◆ lldb_private::formatters::MsvcStlStringViewSummaryProvider< StringElementType::UTF8 >()

template<>
bool lldb_private::formatters::MsvcStlStringViewSummaryProvider< StringElementType::UTF8 > ( ValueObject & valobj,
Stream & stream,
const TypeSummaryOptions & summary_options )

◆ MsvcStlStringSummaryProviderImpl()

◆ StringElementByteSize()

template<StringElementType element_type>
constexpr uint64_t StringElementByteSize ( )
staticconstexpr

Definition at line 33 of file MsvcStl.cpp.

Referenced by MsvcStlStringSummaryProviderImpl().