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
17namespace lldb_private {
18namespace formatters {
19bool Char8StringSummaryProvider(ValueObject &valobj, Stream &stream,
20                                const TypeSummaryOptions &options); // char8_t*
21
22bool Char16StringSummaryProvider(
23    ValueObject &valobj, Stream &stream,
24    const TypeSummaryOptions &options); // char16_t* and unichar*
25
26bool Char32StringSummaryProvider(
27    ValueObject &valobj, Stream &stream,
28    const TypeSummaryOptions &options); // char32_t*
29
30bool WCharStringSummaryProvider(ValueObject &valobj, Stream &stream,
31                                const TypeSummaryOptions &options); // wchar_t*
32
33bool Char8SummaryProvider(ValueObject &valobj, Stream &stream,
34                          const TypeSummaryOptions &options); // char8_t
35
36bool Char16SummaryProvider(
37    ValueObject &valobj, Stream &stream,
38    const TypeSummaryOptions &options); // char16_t and unichar
39
40bool Char32SummaryProvider(ValueObject &valobj, Stream &stream,
41                           const TypeSummaryOptions &options); // char32_t
42
43bool 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