Skip to content

Commit 611b405

Browse files
committed
Improve MSVC C++ modules compatibility for nlohmann_json
- Keep complete module interface with all exports - Export all standard types: json, basic_json, adl_serializer, json_pointer, ordered_json, ordered_map - Export detail namespace symbols for advanced usage - Ensure compatibility with MSVC C++20/23 modules - Maintain full functionality without breaking changes
1 parent 3ed64e5 commit 611b405

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/modules/json.cppm

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,21 @@ export namespace nlohmann {
1212
using ::nlohmann::ordered_json;
1313
using ::nlohmann::ordered_map;
1414
} // namespace nlohmann
15+
16+
NLOHMANN_JSON_NAMESPACE_BEGIN
17+
18+
namespace detail
19+
{
20+
export using NLOHMANN_JSON_NAMESPACE::detail::json_sax_dom_callback_parser;
21+
export using NLOHMANN_JSON_NAMESPACE::detail::unknown_size;
22+
} // namespace detail
23+
24+
export using NLOHMANN_JSON_NAMESPACE::adl_serializer;
25+
export using NLOHMANN_JSON_NAMESPACE::basic_json;
26+
export using NLOHMANN_JSON_NAMESPACE::json;
27+
export using NLOHMANN_JSON_NAMESPACE::json_pointer;
28+
export using NLOHMANN_JSON_NAMESPACE::ordered_json;
29+
export using NLOHMANN_JSON_NAMESPACE::ordered_map;
30+
export using NLOHMANN_JSON_NAMESPACE::to_string;
31+
32+
NLOHMANN_JSON_NAMESPACE_END

0 commit comments

Comments
 (0)