xref: /freebsd/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h (revision e25152834cdf3b353892835a4f3b157e066a8ed4)
1 //===-- CxxStringTypes.h ----------------------------------------------*- C++
2 //-*-===//
3 //
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_CPLUSPLUS_CXXSTRINGTYPES_H
11 #define LLDB_SOURCE_PLUGINS_LANGUAGE_CPLUSPLUS_CXXSTRINGTYPES_H
12 
13 #include "lldb/Core/ValueObject.h"
14 #include "lldb/DataFormatters/TypeSummary.h"
15 #include "lldb/Utility/Stream.h"
16 
17 namespace lldb_private {
18 namespace formatters {
19 bool Char8StringSummaryProvider(ValueObject &valobj, Stream &stream,
20                                 const TypeSummaryOptions &options); // char8_t*
21 
22 bool Char16StringSummaryProvider(
23     ValueObject &valobj, Stream &stream,
24     const TypeSummaryOptions &options); // char16_t* and unichar*
25 
26 bool Char32StringSummaryProvider(
27     ValueObject &valobj, Stream &stream,
28     const TypeSummaryOptions &options); // char32_t*
29 
30 bool WCharStringSummaryProvider(ValueObject &valobj, Stream &stream,
31                                 const TypeSummaryOptions &options); // wchar_t*
32 
33 bool Char8SummaryProvider(ValueObject &valobj, Stream &stream,
34                           const TypeSummaryOptions &options); // char8_t
35 
36 bool Char16SummaryProvider(
37     ValueObject &valobj, Stream &stream,
38     const TypeSummaryOptions &options); // char16_t and unichar
39 
40 bool Char32SummaryProvider(ValueObject &valobj, Stream &stream,
41                            const TypeSummaryOptions &options); // char32_t
42 
43 bool WCharSummaryProvider(ValueObject &valobj, Stream &stream,
44                           const TypeSummaryOptions &options); // wchar_t
45 
46 } // namespace formatters
47 } // namespace lldb_private
48 
49 #endif // LLDB_SOURCE_PLUGINS_LANGUAGE_CPLUSPLUS_CXXSTRINGTYPES_H
50