Commit Graph

67 Commits

Author SHA1 Message Date
Benoit Blanchon
92d6bae25c Remove ArrayIterator::internal() and ObjectIterator::internal() 2022-10-14 18:11:55 +02:00
Benoit Blanchon
cf4436e581 Extract VariantProxy from ElementProxy and MemberProxy 2022-08-30 10:25:03 +02:00
Benoit Blanchon
2b6bb78a09 Don't call operator VariantConstRef in VariantComparer 2022-08-30 10:25:03 +02:00
Benoit Blanchon
ffa7f8d22d Make MemberProxy and `ElementProxy similar 2022-08-30 10:25:03 +02:00
Benoit Blanchon
8002722f3b Clang-format: set DerivePointerAlignment to false 2022-08-09 16:52:17 +02:00
Benoit Blanchon
84b7037b3e Add VariantAttorney 2022-07-07 14:32:43 +02:00
Benoit Blanchon
c5838a876b Remove getElement(), getOrAddElement(), getMember(), and getOrAddMember() 2022-07-07 14:32:43 +02:00
Benoit Blanchon
750cd0be92 Add collectionToVariant() 2022-07-07 14:32:43 +02:00
Benoit Blanchon
758580bfb6 Rename addElement() to add() 2022-07-07 14:32:43 +02:00
Benoit Blanchon
58c7c919f2 Remove unused arrayAccept() and objectAccept() 2022-07-07 09:44:58 +02:00
Benoit Blanchon
cd8373ad32 Change link() to shallowCopy() (issue #1343)
Instead of storing a pointer, the function copies the `VariantData`.

Benefits:
* smaller code
* no impact on programs that don't use this feature

Drawbacks:
* changes to the original variant are not always reflected on the copy
* modifying the original from the shallow copy leads to UB
2022-07-05 17:07:43 +02:00
Benoit Blanchon
3b3ab8c4e1 Inline variantAsArray() and variantAsObject() 2022-07-05 14:02:41 +02:00
Benoit Blanchon
5b06b1564e Remove undocumented accept() functions 2022-07-03 17:38:03 +02:00
Benoit Blanchon
77b4270d97 Remove Visitable 2022-07-03 15:37:08 +02:00
Benoit Blanchon
ff4e837df5 Fix comparison operators for JsonArray and JsonArrayConst 2022-06-09 21:06:32 +02:00
Benoit Blanchon
3d6c328a4f Add JsonVariant::link() (resolves #1343) 2022-04-27 15:08:13 +02:00
Benoit Blanchon
7b19a4b6e7 Add getMemberConst() and getElementConst() 2022-04-27 15:07:26 +02:00
Benoit Blanchon
3760a643cb Implement comparison out of VariantData 2022-04-27 15:07:25 +02:00
Benoit Blanchon
fc9d8aa31e Implement nesting() out of VariantData 2022-04-07 21:11:31 +02:00
Benoit Blanchon
3dc67c5663 Add memoryUsage() to ElementProxy and MemberProxy (fixes #1730) 2022-03-19 12:11:40 +01:00
Benoit Blanchon
af18994deb Update copyright notice 2022-01-01 10:01:05 +01:00
Benoit Blanchon
ada1f2a894 Add support for char[][] in copyArray() 2021-12-20 17:51:44 +01:00
Benoit Blanchon
184a7c4fbd Add support for arbitrary array rank in copyArray() 2021-12-20 17:51:27 +01:00
Benoit Blanchon
4073b52c00 Changed return type of convertToJson() and Converter::toJson() to void 2021-07-23 15:11:48 +02:00
Benoit Blanchon
a6fc9311b4 Added JsonArray::clear() (fixes #1597) 2021-06-26 11:29:15 +02:00
Benoit Blanchon
4e261068a1 clang-format: set IndentPPDirectives to AfterHash 2021-06-16 21:08:01 +02:00
Benoit Blanchon
1d24caf066 Added InvalidConversion to identify invalid conversions (closes #1585) 2021-06-11 11:54:52 +02:00
Benoit Blanchon
ab23625091 Renamed DEPRECATED to ARDUINOJSON_DEPRECATED 2021-05-04 14:44:07 +02:00
Benoit Blanchon
337864618c Reversed parameters of convertToJson() and convertFromJson()
Now the order matches copyArray(): source first, destination second.
2021-04-28 10:25:39 +02:00
Benoit Blanchon
4b89878c10 Added a deprecation warning for as<char*>() 2021-04-27 18:25:42 +02:00
Benoit Blanchon
d5d2209d09 Added "https://" prefix to all URLs so they are clickable in VS Code 2021-03-29 19:35:25 +02:00
Benoit Blanchon
d7f5b56ca4 Added support for custom converters (closes #687) 2021-03-20 14:52:47 +01:00
Benoit Blanchon
e4ce75e20c Simplified JsonVariant::as<T>() to always return T 2021-03-08 19:33:52 +01:00
Benoit Blanchon
22904a48a6 Added a default implementation in the Visitor class 2021-02-21 13:37:07 +01:00
Benoit Blanchon
97b7161d78 Update copyright notice for 2021 2021-01-25 09:14:15 +01:00
Benoit Blanchon
10ec0f21b0 Fixed operator|(MemberProxy, JsonObject) (fixes #1415) 2020-10-23 10:48:33 +02:00
Benoit Blanchon
5ab53f42b2 Added a return value to visitors 2020-08-29 18:40:27 +02:00
Benoit Blanchon
6dc36125c2 Added ElementProxy::getOrAddElement() (fixes #1311) 2020-07-23 10:58:47 +02:00
Benoit Blanchon
40085609e2 Fixed copyArray() not working with MemberProxy and ElementProxy 2020-07-22 21:08:18 +02:00
Benoit Blanchon
ebb6d80092 Fixed copyArray() not working with String 2020-07-22 20:02:33 +02:00
Benoit Blanchon
7e58347fbe Added comparisons between JsonVariants 2020-07-02 15:28:34 +02:00
Benoit Blanchon
0e794a28a1 Simplified implementation of comparison operators 2020-06-13 15:42:04 +02:00
Benoit Blanchon
3b923b6e4e Added support for JsonDocument to copyArray() (issue #1255) 2020-05-02 10:00:08 +02:00
Benoit Blanchon
ec43bf4fe9 Simplified the implementation of implicit casts 2020-04-08 18:18:18 +02:00
Benoit Blanchon
d8724e0a0b Changed the array subscript to automatically add missing elements 2020-02-20 08:59:25 +01:00
Benoit Blanchon
0814fc185f Added a line-break after each "if" to get more accurate coverage report 2020-02-16 15:05:23 +01:00
Benoit Blanchon
d2a67f362f Fixed "deprecated-copy" warning on GCC 9 (fixes #1184) 2020-02-13 11:07:40 +01:00
Benoit Blanchon
f9cfea244a Updated copyright notice 2020-01-09 15:48:38 +01:00
Benoit Blanchon
6da6f921cd Fixed dangling reference in MemberProxy and ElementProxy (fixes #1120) 2019-10-30 19:09:21 +01:00
Benoit Blanchon
7d1d0c4e67 Added conversion from JsonArray/JsonObject to bool 2019-09-24 09:38:00 +02:00