/
githubmirror
/
json
Обзор
Документация
Войти
/
githubmirror
/
json
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/modules/json.cppm
52 строки
2 KB
Hariom Phulre
Fix GCC C++20 modules compilation #5103 (#5164)
15 май 2026, 18:04
Не верифицирован
15 май 2026, 18:04
bb5404b
Код
Авторство
О чём код?
// __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ // | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // // SPDX-FileCopyrightText: 2013-2026 Niels Lohmann <https://nlohmann.me> // 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 <nlohmann/json.hpp> // 3. Or upgrade to a newer GCC version with better modules support. // See: https://github.com/nlohmann/json/issues/5103 #include <nlohmann/json.hpp> 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