71 lines · c
1//===-- LibStdcpp.h ---------------------------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_CPLUSPLUS_LIBSTDCPP_H10#define LLDB_SOURCE_PLUGINS_LANGUAGE_CPLUSPLUS_LIBSTDCPP_H11 12#include "lldb/DataFormatters/TypeSummary.h"13#include "lldb/DataFormatters/TypeSynthetic.h"14#include "lldb/Utility/Stream.h"15#include "lldb/ValueObject/ValueObject.h"16 17namespace lldb_private {18namespace formatters {19bool LibStdcppStringSummaryProvider(20 ValueObject &valobj, Stream &stream,21 const TypeSummaryOptions &options); // libstdc++ std::string22 23bool LibStdcppSmartPointerSummaryProvider(24 ValueObject &valobj, Stream &stream,25 const TypeSummaryOptions26 &options); // libstdc++ std::shared_ptr<> and std::weak_ptr<>27 28bool LibStdcppUniquePointerSummaryProvider(29 ValueObject &valobj, Stream &stream,30 const TypeSummaryOptions &options); // libstdc++ std::unique_ptr<>31 32bool LibStdcppVariantSummaryProvider(33 ValueObject &valobj, Stream &stream,34 const TypeSummaryOptions &options); // libstdc++ std::variant<>35 36SyntheticChildrenFrontEnd *37LibstdcppMapIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *,38 lldb::ValueObjectSP);39 40SyntheticChildrenFrontEnd *41LibStdcppTupleSyntheticFrontEndCreator(CXXSyntheticChildren *,42 lldb::ValueObjectSP);43 44SyntheticChildrenFrontEnd *45LibStdcppBitsetSyntheticFrontEndCreator(CXXSyntheticChildren *,46 lldb::ValueObjectSP);47 48SyntheticChildrenFrontEnd *49LibStdcppOptionalSyntheticFrontEndCreator(CXXSyntheticChildren *,50 lldb::ValueObjectSP);51 52SyntheticChildrenFrontEnd *53LibStdcppVectorIteratorSyntheticFrontEndCreator(CXXSyntheticChildren *,54 lldb::ValueObjectSP);55 56SyntheticChildrenFrontEnd *57LibStdcppSharedPtrSyntheticFrontEndCreator(CXXSyntheticChildren *,58 lldb::ValueObjectSP);59 60SyntheticChildrenFrontEnd *61LibStdcppUniquePtrSyntheticFrontEndCreator(CXXSyntheticChildren *,62 lldb::ValueObjectSP);63 64bool LibStdcppVariantSummaryProvider(ValueObject &valobj, Stream &stream,65 const TypeSummaryOptions &options);66 67} // namespace formatters68} // namespace lldb_private69 70#endif // LLDB_SOURCE_PLUGINS_LANGUAGE_CPLUSPLUS_LIBSTDCPP_H71