Commit Graph

44 Commits

Author SHA1 Message Date
Benoit Blanchon
31ce648e63 Change naming convention from _member to member_ (fixes #1905) 2023-04-07 09:02:23 +02:00
Benoit Blanchon
33a4773fbd Set clang-format standard to C++11 (#1820) 2023-02-16 11:51:02 +01:00
Benoit Blanchon
daa87e12dc Update copyright notice 2023-02-16 11:45:01 +01:00
Benoit Blanchon
1b66a217bf Replace ARDUINOJSON_NAMESPACE with an inline namespace (#1820) 2023-02-14 10:04:48 +01:00
Benoit Blanchon
de725e0a4e Add documentation to most public symbols 2022-12-21 19:20:51 +01:00
Benoit Blanchon
0f85a55cac Implement VariantRefBase with a CRTP 2022-12-05 21:00:24 +01:00
Benoit Blanchon
cf4436e581 Extract VariantProxy from ElementProxy and MemberProxy 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
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
758580bfb6 Rename addElement() to add() 2022-07-07 14:32:43 +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
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
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
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
4073b52c00 Changed return type of convertToJson() and Converter::toJson() to void 2021-07-23 15:11:48 +02:00
Benoit Blanchon
4e261068a1 clang-format: set IndentPPDirectives to AfterHash 2021-06-16 21:08:01 +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
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
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
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
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
fcbec6eb6d Use absolute instead of relative includes (fixes #1072) 2019-08-26 11:57:57 +02:00
Benoit Blanchon
795e37278f Added operators == and != for MemberProxy 2019-07-19 10:27:03 +02:00
Benoit Blanchon
c9d6bd76c9 Added JsonDocument::remove() and JsonVariant::remove() 2019-02-25 13:21:10 +01:00
Benoit Blanchon
bc2ce178ea Added JsonVariant::clear() 2019-02-25 11:44:22 +01:00
Benoit Blanchon
e9b4c6289b Disambiguated the name get() with getElement() and getMember() 2019-02-15 15:53:53 +01:00
Benoit Blanchon
c3f71c1a99 Updated copyright year to 2019 2019-02-15 13:32:04 +01:00
Benoit Blanchon
6f55d1e58f JsonVariant automatically promotes to JsonObject or JsonArray on write 2019-01-29 14:09:09 +01:00