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 string deduplication (issue #1303)
* 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)
-------

View File

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

View File

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

View File

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