Benoit Blanchon
bec657eda7
Return bool from all built-in toJson converters
2025-10-20 14:56:05 +02:00
Benoit Blanchon
1232f61e55
VariantImpl: change setRawString() to return bool
2025-10-20 14:25:03 +02:00
Benoit Blanchon
65518a8b00
VariantImpl: change setRawString() to take an adapted string
2025-10-20 14:21:01 +02:00
Benoit Blanchon
a51865ca42
CollectionIterator: rename next() to move()
2025-10-20 12:08:06 +02:00
Benoit Blanchon
af36add5d8
VariantImpl: rename getResourceManager() to resources()
2025-10-20 11:56:12 +02:00
Benoit Blanchon
3eced7d7ec
VariantImpl: rename getData() to data()
2025-10-20 11:52:28 +02:00
Benoit Blanchon
c4c5c69baf
VariantImpl: move addValue() to JsonArray
...
This way VariantImpl doesn't need to support generic types, which removes the dependency from `VariantImpl` to `JsonVariant`.
2025-10-20 11:45:35 +02:00
Benoit Blanchon
b017dfb13a
ResourceManager: move out-of-class definitions back in the class
2025-10-17 14:52:42 +02:00
Benoit Blanchon
88769c44b4
ResourceManager: decouple from VariantImpl
2025-10-17 14:47:40 +02:00
Benoit Blanchon
01de2f3fbb
Rename CollectionData.hpp to CollectionIterator.hpp
...
I also removed some of the unused include statements.
2025-10-17 14:32:36 +02:00
Benoit Blanchon
4a2568e3c8
Merge CollectionImpl into VariantImpl
2025-10-16 10:20:48 +02:00
Benoit Blanchon
f124af3909
Merge ObjectImpl into VariantImpl
2025-10-15 17:52:35 +02:00
Benoit Blanchon
76eec98efd
Merge ArrayImpl into VariantImpl
2025-10-14 09:54:24 +02:00
Benoit Blanchon
04823fd304
JsonDocument: fix double clear in to<T>()
2025-10-14 09:54:24 +02:00
Benoit Blanchon
3f62a2ca96
VariantImpl: change the visitor interface for arrays and objects
2025-10-14 09:54:24 +02:00
Benoit Blanchon
6dbdeca58a
VariantImpl: extract static size()
2025-10-13 15:18:19 +02:00
Benoit Blanchon
a159820ade
CollectionImpl: attach to VariantData* instead of CollectionData*
2025-10-08 15:55:30 +02:00
Benoit Blanchon
c222fc2f0a
Move CollectionData definition
2025-10-06 15:50:20 +02:00
Benoit Blanchon
b4024e7032
Move VariantImpl definition to VariantImpl.hpp
2025-10-03 14:35:17 +02:00
Benoit Blanchon
7dece839d6
Extract VariantImpl
2025-10-03 10:13:34 +02:00
Benoit Blanchon
ed6b470896
Replace VariantData& with VariantData* in deserializers
2025-09-17 21:18:28 +02:00
Benoit Blanchon
539b66fc7a
Extract ArrayImpl, CollectionImpl, and ObjectImpl
2025-08-30 09:55:33 +02:00
Benoit Blanchon
6e7eddb959
JsonObject: replace ObjectData* member with VariantData*
2025-08-30 09:55:33 +02:00
Benoit Blanchon
3a49896200
JsonArray: replace ArrayData* member with VariantData*
2025-08-30 09:55:33 +02:00
Benoit Blanchon
c743c1e327
JsonObjectConst: replace ObjectData* member with VariantData*
2025-08-30 09:55:33 +02:00
Benoit Blanchon
c541c57900
JsonArrayConst: replace ArrayData* member with VariantData*
2025-08-30 09:55:33 +02:00
Benoit Blanchon
db2eec46c7
Add a pool dedicated to 8-byte values (double/int64_t/uint64_t)
...
This new pool replaced the "extension" slot where a secondary variant slot was used to store 8-byte values.
2025-08-30 09:55:32 +02:00
Benoit Blanchon
dddc4912c4
Don't store string literals by pointer anymore
...
Fixes #2189
2025-08-28 10:04:11 +02:00
Benoit Blanchon
509807d3c2
Remove CollectionIterator::nextId_
2025-07-10 19:16:47 +02:00
Benoit Blanchon
733bc4ee82
Set version to 7.4.2
2025-06-20 09:37:14 +02:00
Benoit Blanchon
f051f8328d
Undef true and false macros
...
Replacing `true` with `1` changes `JsonString("ABC", true)` into `JsonString("ABC", 1)`, so all static strings had a length of 1.
This is a workaround for arduino/ArduinoCore-sam#50
Fixes #2181
2025-06-19 13:59:15 +02:00
Benoit Blanchon
3252013509
Set version to 7.4.1
2025-04-11 15:43:42 +02:00
Benoit Blanchon
deab127a2f
Fix crash with tiny Flash strings (issue #2170 )
2025-04-11 10:23:43 +02:00
Benoit Blanchon
96281de682
Set version to 7.4.0
2025-04-09 14:49:13 +02:00
Benoit Blanchon
f0e84e4933
Fix support for const char[]
...
Fixes #2166
2025-04-09 08:55:09 +02:00
Benoit Blanchon
91397f9f06
Optimize storage of tiny strings (up to 3 characters)
2025-04-09 08:55:08 +02:00
Benoit Blanchon
7f75985e47
Change StringBuffer::save() to take a VariantData*
2025-02-28 10:05:50 +01:00
Benoit Blanchon
05b68fc7cc
Change StringBuilder::save() to take a VariantData*
2025-02-28 09:59:46 +01:00
Benoit Blanchon
b06cee8f4d
Remove the overload of setString() for StringNode
2025-02-28 09:23:56 +01:00
Benoit Blanchon
e03d8ae885
Set version to 7.3.1
2025-02-27 19:35:14 +01:00
Benoit Blanchon
cb1dcfa5e4
Reduce code size
2025-02-27 11:13:50 +01:00
Benoit Blanchon
67dd3120e6
Fix conversion from static string to number
2025-02-27 11:01:51 +01:00
Benoit Blanchon
9f3cf04415
Remove useless null check
2025-02-24 16:40:42 +01:00
Benoit Blanchon
01e49b33b7
Update copyright year
2025-02-24 15:18:26 +01:00
Benoit Blanchon
8f7e793f37
Set version to 7.3.0
2024-12-29 17:15:57 +01:00
Benoit Blanchon
de05814294
Move public facing SFINAEs to template declarations
2024-12-23 17:44:52 +01:00
Benoit Blanchon
e33e78d202
Rename undocumented JsonString::isLinked() to isStatic()
2024-11-26 14:32:50 +01:00
Benoit Blanchon
ed5f890d28
Replace JsonString::Ownership with bool
2024-11-26 14:32:36 +01:00
Benoit Blanchon
8931651317
JsonString: change default ownership to Copied
2024-11-26 10:10:52 +01:00
Benoit Blanchon
c078957282
Remove unnecessary universal references
2024-11-25 12:25:59 +01:00