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