]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - source/Plugins/Language/CPlusPlus/LibStdcpp.h
Vendor import of lldb trunk r290819:
[FreeBSD/FreeBSD.git] / source / Plugins / Language / CPlusPlus / LibStdcpp.h
1 //===-- LibStdcpp.h ---------------------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef liblldb_LibStdCpp_h_
11 #define liblldb_LibStdCpp_h_
12
13 #include "lldb/Core/Stream.h"
14 #include "lldb/Core/ValueObject.h"
15 #include "lldb/DataFormatters/TypeSummary.h"
16 #include "lldb/DataFormatters/TypeSynthetic.h"
17
18 namespace lldb_private {
19 namespace formatters {
20 bool LibStdcppStringSummaryProvider(
21     ValueObject &valobj, Stream &stream,
22     const TypeSummaryOptions &options); // libcstdc++ c++11 std::string
23
24 bool LibStdcppWStringSummaryProvider(
25     ValueObject &valobj, Stream &stream,
26     const TypeSummaryOptions &options); // libcstdc++ c++11 std::wstring
27
28 bool LibStdcppSmartPointerSummaryProvider(
29     ValueObject &valobj, Stream &stream,
30     const TypeSummaryOptions
31         &options); // libstdc++ std::shared_ptr<> and std::weak_ptr<>
32
33 bool LibStdcppUniquePointerSummaryProvider(
34     ValueObject &valobj, Stream &stream,
35     const TypeSummaryOptions &options); // libstdc++ std::unique_ptr<>
36
37 SyntheticChildrenFrontEnd *
38 LibstdcppMapIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *,
39                                              lldb::ValueObjectSP);
40
41 SyntheticChildrenFrontEnd *
42 LibStdcppTupleSyntheticFrontEndCreator(CXXSyntheticChildren *,
43                                        lldb::ValueObjectSP);
44
45 SyntheticChildrenFrontEnd *
46 LibStdcppVectorIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *,
47                                                 lldb::ValueObjectSP);
48
49 SyntheticChildrenFrontEnd *
50 LibStdcppSharedPtrSyntheticFrontEndCreator(CXXSyntheticChildren *,
51                                            lldb::ValueObjectSP);
52
53 SyntheticChildrenFrontEnd *
54 LibStdcppUniquePtrSyntheticFrontEndCreator(CXXSyntheticChildren *,
55                                            lldb::ValueObjectSP);
56
57 } // namespace formatters
58 } // namespace lldb_private
59
60 #endif // liblldb_LibStdCpp_h_