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 17 namespace lldb_private { 18 namespace formatters { 19 bool LibStdcppStringSummaryProvider( 20 ValueObject &valobj, Stream &stream, 21 const TypeSummaryOptions &options); // libcstdc++ c++11 std::string 22 23 bool LibStdcppWStringSummaryProvider( 24 ValueObject &valobj, Stream &stream, 25 const TypeSummaryOptions &options); // libcstdc++ c++11 std::wstring 26 27 bool LibStdcppSmartPointerSummaryProvider( 28 ValueObject &valobj, Stream &stream, 29 const TypeSummaryOptions 30 &options); // libstdc++ std::shared_ptr<> and std::weak_ptr<> 31 32 bool LibStdcppUniquePointerSummaryProvider( 33 ValueObject &valobj, Stream &stream, 34 const TypeSummaryOptions &options); // libstdc++ std::unique_ptr<> 35 36 SyntheticChildrenFrontEnd * 37 LibstdcppMapIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *, 38 lldb::ValueObjectSP); 39 40 SyntheticChildrenFrontEnd * 41 LibStdcppTupleSyntheticFrontEndCreator(CXXSyntheticChildren *, 42 lldb::ValueObjectSP); 43 44 SyntheticChildrenFrontEnd * 45 LibStdcppBitsetSyntheticFrontEndCreator(CXXSyntheticChildren *, 46 lldb::ValueObjectSP); 47 48 SyntheticChildrenFrontEnd * 49 LibStdcppOptionalSyntheticFrontEndCreator(CXXSyntheticChildren *, 50 lldb::ValueObjectSP); 51 52 SyntheticChildrenFrontEnd * 53 LibStdcppVectorIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *, 54 lldb::ValueObjectSP); 55 56 SyntheticChildrenFrontEnd * 57 LibStdcppSharedPtrSyntheticFrontEndCreator(CXXSyntheticChildren *, 58 lldb::ValueObjectSP); 59 60 SyntheticChildrenFrontEnd * 61 LibStdcppUniquePtrSyntheticFrontEndCreator(CXXSyntheticChildren *, 62 lldb::ValueObjectSP); 63 64 } // namespace formatters 65 } // namespace lldb_private 66 67 #endif // LLDB_SOURCE_PLUGINS_LANGUAGE_CPLUSPLUS_LIBSTDCPP_H 68