1 //===-- CxxStringTypes.h ----------------------------------------------*- C++
2 //-*-===//
3 //
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_CxxStringTypes_h_
12 #define liblldb_CxxStringTypes_h_
13 
14 #include "lldb/Core/ValueObject.h"
15 #include "lldb/DataFormatters/TypeSummary.h"
16 #include "lldb/Utility/Stream.h"
17 
18 namespace lldb_private {
19 namespace formatters {
20 bool Char16StringSummaryProvider(
21     ValueObject &valobj, Stream &stream,
22     const TypeSummaryOptions &options); // char16_t* and unichar*
23 
24 bool Char32StringSummaryProvider(
25     ValueObject &valobj, Stream &stream,
26     const TypeSummaryOptions &options); // char32_t*
27 
28 bool WCharStringSummaryProvider(ValueObject &valobj, Stream &stream,
29                                 const TypeSummaryOptions &options); // wchar_t*
30 
31 bool Char16SummaryProvider(
32     ValueObject &valobj, Stream &stream,
33     const TypeSummaryOptions &options); // char16_t and unichar
34 
35 bool Char32SummaryProvider(ValueObject &valobj, Stream &stream,
36                            const TypeSummaryOptions &options); // char32_t
37 
38 bool WCharSummaryProvider(ValueObject &valobj, Stream &stream,
39                           const TypeSummaryOptions &options); // wchar_t
40 
41 } // namespace formatters
42 } // namespace lldb_private
43 
44 #endif // liblldb_CxxStringTypes_h_
45