From 92c9faf69f5b1e72ff361b1a53d4c62137229ceb Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Wed, 13 Sep 2023 18:12:18 +0200 Subject: [PATCH] Fix 'std::string_view' has not been declared (issue #1967) Ported from 49e2a8d421d7f442ac397d42caa3f60b2c00db54 --- extras/tests/Cpp17/string_view.cpp | 14 +++++++++++--- src/ArduinoJson/Variant/ConverterImpl.hpp | 4 ++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/extras/tests/Cpp17/string_view.cpp b/extras/tests/Cpp17/string_view.cpp index 31b95e3f..c6c76677 100644 --- a/extras/tests/Cpp17/string_view.cpp +++ b/extras/tests/Cpp17/string_view.cpp @@ -1,8 +1,16 @@ +// ArduinoJson - https://arduinojson.org +// Copyright © 2014-2023, Benoit BLANCHON +// MIT License + +// we expect ArduinoJson.h to include +// but we don't want it to included accidentally +#undef ARDUINO +#define ARDUINOJSON_ENABLE_STD_STREAM 0 +#define ARDUINOJSON_ENABLE_STD_STRING 0 + #include #include -#include - #include "Allocators.hpp" #if !ARDUINOJSON_ENABLE_STRING_VIEW @@ -24,7 +32,7 @@ TEST_CASE("string_view") { SECTION("JsonDocument::set()") { doc.set(std::string_view("123", 2)); - REQUIRE(doc.as() == "12"); + REQUIRE(doc.as() == "12"); } SECTION("JsonDocument::operator[]() const") { diff --git a/src/ArduinoJson/Variant/ConverterImpl.hpp b/src/ArduinoJson/Variant/ConverterImpl.hpp index 568c4773..26ec62d4 100644 --- a/src/ArduinoJson/Variant/ConverterImpl.hpp +++ b/src/ArduinoJson/Variant/ConverterImpl.hpp @@ -13,6 +13,10 @@ # include #endif +#if ARDUINOJSON_ENABLE_STRING_VIEW +# include +#endif + ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE template