Fix 'std::string_view' has not been declared (issue #1967)

This commit is contained in:
Benoit Blanchon
2023-09-13 18:12:18 +02:00
parent 259855a87b
commit 49e2a8d421
3 changed files with 16 additions and 3 deletions

View File

@ -5,6 +5,7 @@ HEAD
----
* Fix error `'std::string' has not been declared` (issue #1967)
* Fix error `'std::string_view' has not been declared` (issue #1967)
v6.21.3 (2023-07-23)
-------

View File

@ -1,8 +1,16 @@
// ArduinoJson - https://arduinojson.org
// Copyright © 2014-2023, Benoit BLANCHON
// MIT License
// we expect ArduinoJson.h to include <string_view>
// but we don't want it to included accidentally
#undef ARDUINO
#define ARDUINOJSON_ENABLE_STD_STREAM 0
#define ARDUINOJSON_ENABLE_STD_STRING 0
#include <ArduinoJson.h>
#include <catch.hpp>
#include <string_view>
#if !ARDUINOJSON_ENABLE_STRING_VIEW
# error ARDUINOJSON_ENABLE_STRING_VIEW must be set to 1
#endif
@ -19,7 +27,7 @@ TEST_CASE("string_view") {
SECTION("JsonDocument::set()") {
doc.set(std::string_view("123", 2));
REQUIRE(doc.as<std::string>() == "12");
REQUIRE(doc.as<std::string_view>() == "12");
}
SECTION("JsonDocument::operator[]() const") {

View File

@ -12,6 +12,10 @@
# include <string>
#endif
#if ARDUINOJSON_ENABLE_STRING_VIEW
# include <string_view>
#endif
ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE
template <typename T, typename Enable>