1314564Sdim//===-- CxxStringTypes.h ----------------------------------------------*- C++
2314564Sdim//-*-===//
3292932Sdim//
4353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5353358Sdim// See https://llvm.org/LICENSE.txt for license information.
6353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7292932Sdim//
8292932Sdim//===----------------------------------------------------------------------===//
9292932Sdim
10292932Sdim#ifndef liblldb_CxxStringTypes_h_
11292932Sdim#define liblldb_CxxStringTypes_h_
12292932Sdim
13292932Sdim#include "lldb/Core/ValueObject.h"
14292932Sdim#include "lldb/DataFormatters/TypeSummary.h"
15321369Sdim#include "lldb/Utility/Stream.h"
16292932Sdim
17292932Sdimnamespace lldb_private {
18314564Sdimnamespace formatters {
19360784Sdimbool Char8StringSummaryProvider(ValueObject &valobj, Stream &stream,
20360784Sdim                                const TypeSummaryOptions &options); // char8_t*
21360784Sdim
22314564Sdimbool Char16StringSummaryProvider(
23314564Sdim    ValueObject &valobj, Stream &stream,
24314564Sdim    const TypeSummaryOptions &options); // char16_t* and unichar*
25314564Sdim
26314564Sdimbool Char32StringSummaryProvider(
27314564Sdim    ValueObject &valobj, Stream &stream,
28314564Sdim    const TypeSummaryOptions &options); // char32_t*
29314564Sdim
30314564Sdimbool WCharStringSummaryProvider(ValueObject &valobj, Stream &stream,
31314564Sdim                                const TypeSummaryOptions &options); // wchar_t*
32314564Sdim
33360784Sdimbool Char8SummaryProvider(ValueObject &valobj, Stream &stream,
34360784Sdim                          const TypeSummaryOptions &options); // char8_t
35360784Sdim
36314564Sdimbool Char16SummaryProvider(
37314564Sdim    ValueObject &valobj, Stream &stream,
38314564Sdim    const TypeSummaryOptions &options); // char16_t and unichar
39314564Sdim
40314564Sdimbool Char32SummaryProvider(ValueObject &valobj, Stream &stream,
41314564Sdim                           const TypeSummaryOptions &options); // char32_t
42314564Sdim
43314564Sdimbool WCharSummaryProvider(ValueObject &valobj, Stream &stream,
44314564Sdim                          const TypeSummaryOptions &options); // wchar_t
45314564Sdim
46314564Sdim} // namespace formatters
47292932Sdim} // namespace lldb_private
48292932Sdim
49292932Sdim#endif // liblldb_CxxStringTypes_h_
50