1 //===-- LibCxxVariant.h -------------------------------------------*- C++
2 //-*-===//
3 //
4 //                     The LLVM Compiler Infrastructure
5 //
6 // This file is distributed under the University of Illinois Open Source
7 // License. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10 
11 #ifndef liblldb_LibCxxVariant_h_
12 #define liblldb_LibCxxVariant_h_
13 
14 #include "lldb/Core/ValueObject.h"
15 #include "lldb/DataFormatters/TypeSummary.h"
16 #include "lldb/DataFormatters/TypeSynthetic.h"
17 #include "lldb/Utility/Stream.h"
18 
19 namespace lldb_private {
20 namespace formatters {
21 bool LibcxxVariantSummaryProvider(
22     ValueObject &valobj, Stream &stream,
23     const TypeSummaryOptions &options); // libc++ std::variant<>
24 
25 SyntheticChildrenFrontEnd *LibcxxVariantFrontEndCreator(CXXSyntheticChildren *,
26                                                         lldb::ValueObjectSP);
27 
28 } // namespace formatters
29 } // namespace lldb_private
30 
31 #endif // liblldb_LibCxxVariant_h_
32