Commit Graph

48 Commits

Author SHA1 Message Date
Benoit Blanchon
afe2434baf Extract ObjectConstRef.hpp from ObjectRef.hpp 2022-12-05 21:00:24 +01:00
Benoit Blanchon
e08f8d5b51 Inline class ObjectRefBase 2022-12-05 21:00:24 +01:00
Benoit Blanchon
5d2a440c69 Remove ArrayFunctions.hpp and ObjectFunctions.hpp 2022-12-05 21:00:24 +01:00
Benoit Blanchon
ac14f29e6c Move definitions of JSON_ARRAY_SIZE() and JSON_OBJECT_SIZE() 2022-12-05 21:00:24 +01:00
Benoit Blanchon
0f85a55cac Implement VariantRefBase with a CRTP 2022-12-05 21:00:24 +01:00
Benoit Blanchon
2182c83b87 Remove ArrayShortcuts and ObjectShortcuts 2022-11-02 09:18:02 +01:00
Benoit Blanchon
92d6bae25c Remove ArrayIterator::internal() and ObjectIterator::internal() 2022-10-14 18:11:55 +02:00
Benoit Blanchon
2b6bb78a09 Don't call operator VariantConstRef in VariantComparer 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
750cd0be92 Add collectionToVariant() 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
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
e2bb2cec7b Fix comparison operators for JsonObject and JsonObjectConst 2022-06-10 11:14:59 +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
af18994deb Update copyright notice 2022-01-01 10:01:05 +01:00
Benoit Blanchon
0f529a3587 Renamed undocumented function isUndefined() to isUnbound() 2021-12-16 14:55:26 +01:00
Benoit Blanchon
ca24ed48f5 Separate string adapter from storage policy 2021-12-07 16:08:44 +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
1d24caf066 Added InvalidConversion to identify invalid conversions (closes #1585) 2021-06-11 11:54:52 +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
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
97b7161d78 Update copyright notice for 2021 2021-01-25 09:14:15 +01:00
Benoit Blanchon
5ab53f42b2 Added a return value to visitors 2020-08-29 18:40:27 +02:00
Benoit Blanchon
a471aed6db Improved coverage of JsonObject 2020-02-22 14:17:10 +01: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
f9cfea244a Updated copyright notice 2020-01-09 15:48:38 +01:00
Benoit Blanchon
7d1d0c4e67 Added conversion from JsonArray/JsonObject to bool 2019-09-24 09:38:00 +02:00
Benoit Blanchon
fcbec6eb6d Use absolute instead of relative includes (fixes #1072) 2019-08-26 11:57:57 +02:00
Benoit Blanchon
6ec5ba521b Added JsonVariant::containsKey() 2019-03-22 21:58:12 +01:00
Benoit Blanchon
f3265d2111 Fixed warning "cast-align" (issue #914) 2019-03-01 09:15:43 +01:00
Benoit Blanchon
e9b4c6289b Disambiguated the name get() with getElement() and getMember() 2019-02-15 15:53:53 +01:00
Benoit Blanchon
7ed92bebd3 Converted JsonArray::copyFrom()/copyTo() to free functions copyArray() 2019-02-15 15:33:04 +01:00
Benoit Blanchon
c3f71c1a99 Updated copyright year to 2019 2019-02-15 13:32:04 +01:00
Benoit Blanchon
b184af6d00 User can now use a JsonString as a key or a value 2019-01-29 17:00:11 +01:00
Benoit Blanchon
6f55d1e58f JsonVariant automatically promotes to JsonObject or JsonArray on write 2019-01-29 14:09:09 +01:00
Benoit Blanchon
30b94493bb Added nesting() to JsonArray, JsonDocument, JsonObject, and JsonVariant 2019-01-17 09:55:51 +01:00
Benoit Blanchon
c51cc91f92 Added memoryUsage() to JsonArray, JsonObject, and JsonVariant 2019-01-16 09:50:57 +01:00
Benoit Blanchon
d8a1eec530 Renamed JsonKey to JsonString 2018-12-07 12:08:30 +01:00
Benoit Blanchon
b77b203935 Extracted VariantData and CollectionData classes 2018-12-07 09:16:58 +01:00
Benoit Blanchon
aaf0d5c3c5 Renamed and moved internal files 2018-11-30 17:53:54 +01:00