// __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ // | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // // SPDX-FileCopyrightText: 2013-2026 Niels Lohmann // SPDX-License-Identifier: MIT module; // GCC workaround for C++ modules support. // When using C++20 modules, some compilers (particularly GCC) may have issues // with template instantiations in the module preamble. If you encounter // "redefinition" errors when including nlohmann/json.hpp, try one of: // 1. Include nlohmann/json.hpp in your module preamble BEFORE other #includes // 2. Or use: import nlohmann.json; instead of #include // 3. Or upgrade to a newer GCC version with better modules support. // See: https://github.com/nlohmann/json/issues/5103 #include export module nlohmann.json; export NLOHMANN_JSON_NAMESPACE_BEGIN using NLOHMANN_JSON_NAMESPACE::adl_serializer; using NLOHMANN_JSON_NAMESPACE::basic_json; using NLOHMANN_JSON_NAMESPACE::json; using NLOHMANN_JSON_NAMESPACE::json_pointer; using NLOHMANN_JSON_NAMESPACE::ordered_json; using NLOHMANN_JSON_NAMESPACE::ordered_map; using NLOHMANN_JSON_NAMESPACE::to_string; inline namespace literals { inline namespace json_literals { using NLOHMANN_JSON_NAMESPACE::literals::json_literals::operator""_json; using NLOHMANN_JSON_NAMESPACE::literals::json_literals::operator""_json_pointer; } // namespace json_literals } // namespace literals // Note: the following nlohmann::detail symbols must be exported due to // an MSVC bug failing to compile without these symbols visible (ticket #3970) namespace detail { using NLOHMANN_JSON_NAMESPACE::detail::json_sax_dom_callback_parser; using NLOHMANN_JSON_NAMESPACE::detail::unknown_size; } // namespace detail NLOHMANN_JSON_NAMESPACE_END