1//===-- NSSet.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_NSSet_h_
11#define liblldb_NSSet_h_
12
13#include "lldb/Core/ValueObject.h"
14#include "lldb/DataFormatters/TypeSummary.h"
15#include "lldb/DataFormatters/TypeSynthetic.h"
16#include "lldb/Utility/ConstString.h"
17#include "lldb/Utility/Stream.h"
18
19namespace lldb_private {
20namespace formatters {
21template <bool cf_style>
22bool NSSetSummaryProvider(ValueObject &valobj, Stream &stream,
23                          const TypeSummaryOptions &options);
24
25SyntheticChildrenFrontEnd *NSSetSyntheticFrontEndCreator(CXXSyntheticChildren *,
26                                                         lldb::ValueObjectSP);
27
28class NSSet_Additionals {
29public:
30  static std::map<ConstString, CXXFunctionSummaryFormat::Callback> &
31  GetAdditionalSummaries();
32
33  static std::map<ConstString, CXXSyntheticChildren::CreateFrontEndCallback> &
34  GetAdditionalSynthetics();
35};
36} // namespace formatters
37} // namespace lldb_private
38
39#endif // liblldb_NSSet_h_
40