Added ElementProxy::getOrAddElement() (fixes #1311)

This commit is contained in:
Benoit Blanchon
2020-07-23 10:58:47 +02:00
parent 40085609e2
commit 6dc36125c2
4 changed files with 7 additions and 1 deletions

View File

@ -7,6 +7,7 @@ HEAD
* Added comparisons (`>`, `>=`, `==`, `!=`, `<`, and `<=`) between `JsonVariant`s * Added comparisons (`>`, `>=`, `==`, `!=`, `<`, and `<=`) between `JsonVariant`s
* Added string deduplication (issue #1303) * Added string deduplication (issue #1303)
* Fixed `copyArray()` not working with `String`, `ElementProxy`, and `MemberProxy` * Fixed `copyArray()` not working with `String`, `ElementProxy`, and `MemberProxy`
* Fixed error `getOrAddElement is not a member of ElementProxy` (issue #1311)
v6.15.2 (2020-05-15) v6.15.2 (2020-05-15)
------- -------

View File

@ -9,6 +9,7 @@ add_executable(ElementProxyTests
remove.cpp remove.cpp
set.cpp set.cpp
size.cpp size.cpp
subscript.cpp
) )
add_test(ElementProxy ElementProxyTests) add_test(ElementProxy ElementProxyTests)

View File

@ -7,7 +7,7 @@
using namespace ARDUINOJSON_NAMESPACE; using namespace ARDUINOJSON_NAMESPACE;
TEST_CASE("MemberProxy::operator[]") { TEST_CASE("ElementProxy::operator[]") {
DynamicJsonDocument doc(4096); DynamicJsonDocument doc(4096);
ElementProxy<JsonDocument&> ep = doc[1]; ElementProxy<JsonDocument&> ep = doc[1];

View File

@ -135,6 +135,10 @@ class ElementProxy : public VariantOperators<ElementProxy<TArray> >,
return getOrAddUpstreamElement().getElement(index); return getOrAddUpstreamElement().getElement(index);
} }
VariantRef getOrAddElement(size_t index) const {
return getOrAddUpstreamElement().getOrAddElement(index);
}
FORCE_INLINE void remove(size_t index) const { FORCE_INLINE void remove(size_t index) const {
getUpstreamElement().remove(index); getUpstreamElement().remove(index);
} }