//===-- StructuredData.h ----------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_UTILITY_STRUCTUREDDATA_H #define LLDB_UTILITY_STRUCTUREDDATA_H #include "llvm/ADT/StringMap.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/JSON.h" #include "lldb/Utility/FileSpec.h" #include "lldb/Utility/Stream.h" #include "lldb/lldb-enumerations.h" #include <cassert> #include <cstddef> #include <cstdint> #include <functional> #include <map> #include <memory> #include <optional> #include <string> #include <type_traits> #include <utility> #include <variant> #include <vector> namespace lldb_private { class Status; } namespace lldb_private { /// \class StructuredData StructuredData.h "lldb/Utility/StructuredData.h" /// A class which can hold structured data /// /// The StructuredData class is designed to hold the data from a JSON or plist /// style file -- a serialized data structure with dictionaries (maps, /// hashes), arrays, and concrete values like integers, floating point /// numbers, strings, booleans. /// /// StructuredData does not presuppose any knowledge of the schema for the /// data it is holding; it can parse JSON data, for instance, and other parts /// of lldb can iterate through the parsed data set to find keys and values /// that may be present. class StructuredData { … }; } // namespace lldb_private #endif // LLDB_UTILITY_STRUCTUREDDATA_H