1 //===-- LibStdcpp.h ---------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef liblldb_LibStdCpp_h_
11 #define liblldb_LibStdCpp_h_
13 #include "lldb/Core/Stream.h"
14 #include "lldb/Core/ValueObject.h"
15 #include "lldb/DataFormatters/TypeSummary.h"
16 #include "lldb/DataFormatters/TypeSynthetic.h"
18 namespace lldb_private {
19 namespace formatters {
20 bool LibStdcppStringSummaryProvider(
21 ValueObject &valobj, Stream &stream,
22 const TypeSummaryOptions &options); // libcstdc++ c++11 std::string
24 bool LibStdcppWStringSummaryProvider(
25 ValueObject &valobj, Stream &stream,
26 const TypeSummaryOptions &options); // libcstdc++ c++11 std::wstring
28 bool LibStdcppSmartPointerSummaryProvider(
29 ValueObject &valobj, Stream &stream,
30 const TypeSummaryOptions
31 &options); // libstdc++ std::shared_ptr<> and std::weak_ptr<>
33 bool LibStdcppUniquePointerSummaryProvider(
34 ValueObject &valobj, Stream &stream,
35 const TypeSummaryOptions &options); // libstdc++ std::unique_ptr<>
37 SyntheticChildrenFrontEnd *
38 LibstdcppMapIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *,
41 SyntheticChildrenFrontEnd *
42 LibStdcppTupleSyntheticFrontEndCreator(CXXSyntheticChildren *,
45 SyntheticChildrenFrontEnd *
46 LibStdcppVectorIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *,
49 SyntheticChildrenFrontEnd *
50 LibStdcppSharedPtrSyntheticFrontEndCreator(CXXSyntheticChildren *,
53 SyntheticChildrenFrontEnd *
54 LibStdcppUniquePtrSyntheticFrontEndCreator(CXXSyntheticChildren *,
57 } // namespace formatters
58 } // namespace lldb_private
60 #endif // liblldb_LibStdCpp_h_