Commit Graph

2074 Commits

Author SHA1 Message Date
Benoit Blanchon
f9655a90ed VariantImpl: rename getData() to data() 2025-07-11 18:30:10 +02:00
Benoit Blanchon
25942cce2d CollectionIterator: replace value() with operator* and operator-> 2025-07-11 18:24:51 +02:00
Benoit Blanchon
c6fa8c1c1f Add VariantImpl in CollectionIterator 2025-07-11 18:19:35 +02:00
Benoit Blanchon
5589633697 Add ResourceManager* in CollectionIterator +80 2025-07-11 18:06:47 +02:00
Benoit Blanchon
7b7ee6cdeb Add VariantImpl::isUnbound() 2025-07-11 14:32:30 +02:00
Benoit Blanchon
dca5ba481f CollectionIterator: add value() member function 2025-07-10 19:30:51 +02:00
Benoit Blanchon
ec53525452 Rename CollectionData.hpp to CollectionIterator.hpp 2025-07-10 19:30:21 +02:00
Benoit Blanchon
0b9a8b6d2b Replace getData()/getResourceManager() with getImpl() 2025-07-10 19:29:32 +02:00
Benoit Blanchon
f62d6f26e0 Merge ArrayImpl, CollectionImpl, and ObjectImpl into VariantImpl 2025-07-10 19:29:32 +02:00
Benoit Blanchon
1f1227d595 CollectionImpl: attach to VariantData* instead of CollectionData* 2025-07-10 19:29:32 +02:00
Benoit Blanchon
6f28ec0384 CollectionImpl: add allocVariant(), getVariant(), freeVariant() 2025-07-10 19:29:32 +02:00
Benoit Blanchon
6ba4507252 CollectionImpl: add helper getCollectionData() 2025-07-10 19:28:50 +02:00
Benoit Blanchon
a265ef4927 Move CollectionData definition 2025-07-10 19:28:50 +02:00
Benoit Blanchon
8790802ce3 Decouple VariantImpl from ArrayImpl and ObjectImpl 2025-07-10 19:28:50 +02:00
Benoit Blanchon
f1b06b588e Move VariantImpl definition to VariantImpl.hpp 2025-07-10 19:28:50 +02:00
Benoit Blanchon
84fcd90658 Extract VariantImpl 2025-07-10 19:28:50 +02:00
Benoit Blanchon
bd551fa4ce Extract ArrayImpl, CollectionImpl, and ObjectImpl 2025-07-10 19:27:44 +02:00
Benoit Blanchon
d9c6a70595 JsonObject: replace ObjectData* member with VariantData* 2025-07-10 19:17:13 +02:00
Benoit Blanchon
b44aa3a8b5 JsonArray: replace ArrayData* member with VariantData* 2025-07-10 19:17:13 +02:00
Benoit Blanchon
c2290a2386 JsonObjectConst: replace ObjectData* member with VariantData* 2025-07-10 19:17:13 +02:00
Benoit Blanchon
4457cb7cc5 JsonArrayConst: replace ArrayData* member with VariantData* 2025-07-10 19:17:13 +02:00
Benoit Blanchon
1e0bbd518c 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-07-10 19:17:13 +02:00
Benoit Blanchon
cc077c1b63 Store static strings in a dedicated pool
Because a slot id is smaller than a pointer, this change will ultimately allow reducing the slot size.
2025-07-10 19:17:13 +02:00
Benoit Blanchon
509807d3c2 Remove CollectionIterator::nextId_ 2025-07-10 19:16:47 +02:00
Benoit Blanchon
c07744dc0d CI: upgrade Windows runner 2025-06-26 20:47:57 +02:00
Benoit Blanchon
733bc4ee82 Set version to 7.4.2 v7.4.2 2025-06-20 09:37:14 +02:00
Benoit Blanchon
9aa77994b4 Remove sponsor Programming Electronics Academy 2025-06-20 08:43:48 +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
411424b74e CI: upgrade clang-tidy 2025-05-20 20:55:01 +02:00
Benoit Blanchon
5e5c287978 CI: upgrade Clang versions 2025-05-20 18:24:46 +02:00
Benoit Blanchon
377cf63075 CI: upgrade runner to ubuntu-22.04 2025-05-20 14:48:42 +02:00
Benoit Blanchon
3252013509 Set version to 7.4.1 v7.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 v7.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 v7.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 v7.3.0 2024-12-29 17:15:57 +01:00
Benoit Blanchon
254fa5712a Update the release scripts to include the breaking changes section 2024-12-29 16:38:41 +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