mirror of
https://github.com/nlohmann/json.git
synced 2026-07-06 02:25:09 +00:00
Move UDLs out of the global namespace (#3605)
* Move UDLs into nlohmann::literals::json_literals namespace * Add 'using namespace' to unit tests * Add 'using namespace' to examples * Add 'using namespace' to README * Move UDL mkdocs pages out of basic_json/ * Update documentation * Update docset index * Add JSON_GlobalUDLs CMake option * Add unit test * Build examples without global UDLs * Add CI target
This commit is contained in:
committed by
GitHub
parent
8fd8b52907
commit
9aafcbe965
@@ -11,6 +11,7 @@
|
||||
#define JSON_TESTS_PRIVATE
|
||||
#include <nlohmann/json.hpp>
|
||||
using nlohmann::json;
|
||||
using namespace nlohmann::literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
#include <valarray>
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#include <nlohmann/json.hpp>
|
||||
using nlohmann::json;
|
||||
using namespace nlohmann::literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
#include <iostream>
|
||||
#include <iterator>
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "doctest_compatibility.h"
|
||||
|
||||
#include <nlohmann/json.hpp>
|
||||
using namespace nlohmann::literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
TEST_CASE_TEMPLATE("element access 2", Json, nlohmann::json, nlohmann::ordered_json)
|
||||
{
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include <nlohmann/json.hpp>
|
||||
using nlohmann::json;
|
||||
using namespace nlohmann::literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
#include <fstream>
|
||||
#include "make_test_data_available.hpp"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#define JSON_TESTS_PRIVATE
|
||||
#include <nlohmann/json.hpp>
|
||||
using nlohmann::json;
|
||||
using namespace nlohmann::literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
#include <sstream>
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include <nlohmann/json.hpp>
|
||||
using nlohmann::json;
|
||||
using namespace nlohmann::literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
TEST_CASE("JSON Merge Patch")
|
||||
{
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include <nlohmann/json.hpp>
|
||||
using nlohmann::json;
|
||||
using namespace nlohmann::literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include <nlohmann/json.hpp>
|
||||
using nlohmann::json;
|
||||
using namespace nlohmann::literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
#include <deque>
|
||||
#include <forward_list>
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#define JSON_TESTS_PRIVATE
|
||||
#include <nlohmann/json.hpp>
|
||||
using nlohmann::json;
|
||||
using namespace nlohmann::literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <nlohmann/json.hpp>
|
||||
using json = nlohmann::json;
|
||||
using ordered_json = nlohmann::ordered_json;
|
||||
using namespace nlohmann::literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
#include <cstdio>
|
||||
#include <list>
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
// __ _____ _____ _____
|
||||
// __| | __| | | | JSON for Modern C++ (supporting code)
|
||||
// | | |__ | | | | | | version 3.10.5
|
||||
// |_____|_____|_____|_|___| https://github.com/nlohmann/json
|
||||
//
|
||||
// SPDX-FileCopyrightText: 2013-2022 Niels Lohmann <https://nlohmann.me>
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
#include "doctest_compatibility.h"
|
||||
|
||||
#undef JSON_USE_GLOBAL_UDLS
|
||||
#define JSON_USE_GLOBAL_UDLS 0
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
TEST_CASE("user-defined string literals")
|
||||
{
|
||||
auto j_expected = nlohmann::json::parse(R"({"foo": "bar", "baz": 42})");
|
||||
auto ptr_expected = nlohmann::json::json_pointer("/foo/bar");
|
||||
|
||||
SECTION("using namespace nlohmann::literals::json_literals")
|
||||
{
|
||||
using namespace nlohmann::literals::json_literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
CHECK(R"({"foo": "bar", "baz": 42})"_json == j_expected);
|
||||
CHECK("/foo/bar"_json_pointer == ptr_expected);
|
||||
}
|
||||
|
||||
SECTION("using namespace nlohmann::json_literals")
|
||||
{
|
||||
using namespace nlohmann::json_literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
CHECK(R"({"foo": "bar", "baz": 42})"_json == j_expected);
|
||||
CHECK("/foo/bar"_json_pointer == ptr_expected);
|
||||
}
|
||||
|
||||
SECTION("using namespace nlohmann::literals")
|
||||
{
|
||||
using namespace nlohmann::literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
CHECK(R"({"foo": "bar", "baz": 42})"_json == j_expected);
|
||||
CHECK("/foo/bar"_json_pointer == ptr_expected);
|
||||
}
|
||||
|
||||
SECTION("using namespace nlohmann")
|
||||
{
|
||||
using namespace nlohmann; // NOLINT(google-build-using-namespace)
|
||||
|
||||
CHECK(R"({"foo": "bar", "baz": 42})"_json == j_expected);
|
||||
CHECK("/foo/bar"_json_pointer == ptr_expected);
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,7 @@ DOCTEST_GCC_SUPPRESS_WARNING("-Wnoexcept")
|
||||
|
||||
#include <nlohmann/json.hpp>
|
||||
using nlohmann::json;
|
||||
using namespace nlohmann::literals; // NOLINT(google-build-using-namespace)
|
||||
|
||||
#include <map>
|
||||
#include <memory>
|
||||
|
||||
Reference in New Issue
Block a user