LLDB mainline
LibCxx.cpp File Reference

Go to the source code of this file.

Functions

static void consumeInlineNamespace (llvm::StringRef &name)
static ValueObjectSP ExtractLibCxxStringData (ValueObject &valobj)
static std::optional< std::pair< uint64_t, ValueObjectSP > > ExtractLibcxxStringInfo (ValueObject &valobj)
 Determine the size in bytes of valobj (a libc++ std::string object) and extract its data payload.
template<StringPrinter::StringElementType element_type>
static bool LibcxxStringSummaryProvider (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)
static std::tuple< bool, ValueObjectSP, size_t > LibcxxExtractStringViewData (ValueObject &valobj)
template<StringPrinter::StringElementType element_type>
static bool formatStringViewImpl (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &summary_options, std::string prefix_token)
static bool LibcxxChronoTimePointSecondsSummaryProvider (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &options, const char *fmt)
static bool LibcxxChronoTimepointDaysSummaryProvider (ValueObject &valobj, Stream &stream, const TypeSummaryOptions &options, const char *fmt)

Function Documentation

◆ consumeInlineNamespace()

void consumeInlineNamespace ( llvm::StringRef & name)
static

Definition at line 40 of file LibCxx.cpp.

Referenced by lldb_private::formatters::isStdTemplate().

◆ ExtractLibCxxStringData()

◆ ExtractLibcxxStringInfo()

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

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

Return the size + payload pair.

Definition at line 479 of file LibCxx.cpp.

References lldb_private::DataFormatters, ExtractLibCxxStringData(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::GetLog(), l, LLDB_INVALID_OFFSET, and LLDB_LOG_ERROR.

Referenced by LibcxxStringSummaryProvider(), and lldb_private::formatters::LibcxxWStringSummaryProvider().

◆ formatStringImpl()

◆ formatStringViewImpl()

◆ LibcxxChronoTimepointDaysSummaryProvider()

bool LibcxxChronoTimepointDaysSummaryProvider ( ValueObject & valobj,
Stream & stream,
const TypeSummaryOptions & options,
const char * fmt )
static

◆ LibcxxChronoTimePointSecondsSummaryProvider()

bool LibcxxChronoTimePointSecondsSummaryProvider ( ValueObject & valobj,
Stream & stream,
const TypeSummaryOptions & options,
const char * fmt )
static

◆ LibcxxExtractStringViewData()

std::tuple< bool, ValueObjectSP, size_t > LibcxxExtractStringViewData ( ValueObject & valobj)
static

◆ LibcxxStringSummaryProvider()

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