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

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