blob: 1c579af7f62a1d58f43892eb17492fccce287c21 [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
Kate Stoneb9c1b512016-09-06 20:57:50 +000034SyntheticChildrenFrontEnd *
35LibstdcppMapIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *,
36 lldb::ValueObjectSP);
Tamas Berghammer9c6c8e92016-07-06 09:50:00 +000037
Kate Stoneb9c1b512016-09-06 20:57:50 +000038SyntheticChildrenFrontEnd *
Tamas Berghammer7f15dba2016-10-21 15:02:38 +000039LibStdcppTupleSyntheticFrontEndCreator(CXXSyntheticChildren *,
40 lldb::ValueObjectSP);
41
42SyntheticChildrenFrontEnd *
Kate Stoneb9c1b512016-09-06 20:57:50 +000043LibStdcppVectorIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *,
44 lldb::ValueObjectSP);
Tamas Berghammer9c6c8e92016-07-06 09:50:00 +000045
Kate Stoneb9c1b512016-09-06 20:57:50 +000046SyntheticChildrenFrontEnd *
47LibStdcppSharedPtrSyntheticFrontEndCreator(CXXSyntheticChildren *,
48 lldb::ValueObjectSP);
49} // namespace formatters
Enrico Granata419d7912015-09-04 00:33:51 +000050} // namespace lldb_private
51
52#endif // liblldb_LibStdCpp_h_