1//===-- LibStdcpp.h ---------------------------------------------*- C++ -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8 9#ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_CPLUSPLUS_LIBSTDCPP_H 10#define LLDB_SOURCE_PLUGINS_LANGUAGE_CPLUSPLUS_LIBSTDCPP_H 11 12#include "lldb/Core/ValueObject.h" 13#include "lldb/DataFormatters/TypeSummary.h" 14#include "lldb/DataFormatters/TypeSynthetic.h" 15#include "lldb/Utility/Stream.h" 16 17namespace lldb_private { 18namespace formatters { 19bool LibStdcppStringSummaryProvider( 20 ValueObject &valobj, Stream &stream, 21 const TypeSummaryOptions &options); // libcstdc++ c++11 std::string 22 23bool LibStdcppWStringSummaryProvider( 24 ValueObject &valobj, Stream &stream, 25 const TypeSummaryOptions &options); // libcstdc++ c++11 std::wstring 26 27bool LibStdcppSmartPointerSummaryProvider( 28 ValueObject &valobj, Stream &stream, 29 const TypeSummaryOptions 30 &options); // libstdc++ std::shared_ptr<> and std::weak_ptr<> 31 32bool LibStdcppUniquePointerSummaryProvider( 33 ValueObject &valobj, Stream &stream, 34 const TypeSummaryOptions &options); // libstdc++ std::unique_ptr<> 35 36SyntheticChildrenFrontEnd * 37LibstdcppMapIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *, 38 lldb::ValueObjectSP); 39 40SyntheticChildrenFrontEnd * 41LibStdcppTupleSyntheticFrontEndCreator(CXXSyntheticChildren *, 42 lldb::ValueObjectSP); 43 44SyntheticChildrenFrontEnd * 45LibStdcppVectorIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *, 46 lldb::ValueObjectSP); 47 48SyntheticChildrenFrontEnd * 49LibStdcppSharedPtrSyntheticFrontEndCreator(CXXSyntheticChildren *, 50 lldb::ValueObjectSP); 51 52SyntheticChildrenFrontEnd * 53LibStdcppUniquePtrSyntheticFrontEndCreator(CXXSyntheticChildren *, 54 lldb::ValueObjectSP); 55 56} // namespace formatters 57} // namespace lldb_private 58 59#endif // LLDB_SOURCE_PLUGINS_LANGUAGE_CPLUSPLUS_LIBSTDCPP_H 60