blob: bcb7d8cf72daebe89b378580e53ea9a6d837b11c [file] [log] [blame]
Kate Stoneb9c1b512016-09-06 20:57:50 +00001//===-- LibStdCpp.h ---------------------------------------------------*- C++
2//-*-===//
Enrico Granata419d7912015-09-04 00:33:51 +00003//
4// The LLVM Compiler Infrastructure
5//
6// This file is distributed under the University of Illinois Open Source
7// License. See LICENSE.TXT for details.
8//
9//===----------------------------------------------------------------------===//
10
11#ifndef liblldb_LibStdCpp_h_
12#define liblldb_LibStdCpp_h_
13
14#include "lldb/Core/Stream.h"
15#include "lldb/Core/ValueObject.h"
16#include "lldb/DataFormatters/TypeSummary.h"
17#include "lldb/DataFormatters/TypeSynthetic.h"
18
19namespace lldb_private {
Kate Stoneb9c1b512016-09-06 20:57:50 +000020namespace formatters {
21bool LibStdcppStringSummaryProvider(
22 ValueObject &valobj, Stream &stream,
23 const TypeSummaryOptions &options); // libcstdc++ c++11 std::string
Todd Fiala82ffb8e2015-10-22 00:23:38 +000024
Kate Stoneb9c1b512016-09-06 20:57:50 +000025bool LibStdcppWStringSummaryProvider(
26 ValueObject &valobj, Stream &stream,
27 const TypeSummaryOptions &options); // libcstdc++ c++11 std::wstring
Todd Fiala82ffb8e2015-10-22 00:23:38 +000028
Kate Stoneb9c1b512016-09-06 20:57:50 +000029bool LibStdcppSmartPointerSummaryProvider(
30 ValueObject &valobj, Stream &stream,
31 const TypeSummaryOptions
32 &options); // libstdc++ std::shared_ptr<> and std::weak_ptr<>
Tamas Berghammer9c6c8e92016-07-06 09:50:00 +000033
Tamas Berghammerd161b212016-10-21 15:02:44 +000034bool LibStdcppUniquePointerSummaryProvider(
35 ValueObject &valobj, Stream &stream,
36 const TypeSummaryOptions &options); // libstdc++ std::unique_ptr<>
37
Kate Stoneb9c1b512016-09-06 20:57:50 +000038SyntheticChildrenFrontEnd *
39LibstdcppMapIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *,
40 lldb::ValueObjectSP);
Tamas Berghammer9c6c8e92016-07-06 09:50:00 +000041
Kate Stoneb9c1b512016-09-06 20:57:50 +000042SyntheticChildrenFrontEnd *
Tamas Berghammer7f15dba2016-10-21 15:02:38 +000043LibStdcppTupleSyntheticFrontEndCreator(CXXSyntheticChildren *,
44 lldb::ValueObjectSP);
45
46SyntheticChildrenFrontEnd *
Kate Stoneb9c1b512016-09-06 20:57:50 +000047LibStdcppVectorIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *,
48 lldb::ValueObjectSP);
Tamas Berghammer9c6c8e92016-07-06 09:50:00 +000049
Kate Stoneb9c1b512016-09-06 20:57:50 +000050SyntheticChildrenFrontEnd *
51LibStdcppSharedPtrSyntheticFrontEndCreator(CXXSyntheticChildren *,
52 lldb::ValueObjectSP);
Tamas Berghammerd161b212016-10-21 15:02:44 +000053
54SyntheticChildrenFrontEnd *
55LibStdcppUniquePtrSyntheticFrontEndCreator(CXXSyntheticChildren *,
56 lldb::ValueObjectSP);
57
Kate Stoneb9c1b512016-09-06 20:57:50 +000058} // namespace formatters
Enrico Granata419d7912015-09-04 00:33:51 +000059} // namespace lldb_private
60
61#endif // liblldb_LibStdCpp_h_