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 *
45LibStdcppBitsetSyntheticFrontEndCreator(CXXSyntheticChildren *,
46 lldb::ValueObjectSP);
47
48SyntheticChildrenFrontEnd *
49LibStdcppOptionalSyntheticFrontEndCreator(CXXSyntheticChildren *,
50 lldb::ValueObjectSP);
51
52SyntheticChildrenFrontEnd *
53LibStdcppVectorIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *,
54 lldb::ValueObjectSP);
55
56SyntheticChildrenFrontEnd *
57LibStdcppSharedPtrSyntheticFrontEndCreator(CXXSyntheticChildren *,
58 lldb::ValueObjectSP);
59
60SyntheticChildrenFrontEnd *
61LibStdcppUniquePtrSyntheticFrontEndCreator(CXXSyntheticChildren *,
62 lldb::ValueObjectSP);
63
64} // namespace formatters
65} // namespace lldb_private
66
67#endif // LLDB_SOURCE_PLUGINS_LANGUAGE_CPLUSPLUS_LIBSTDCPP_H
68

source code of lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h