Commit Graph
688 Commits
Author SHA1 Message Date
Benoit Blanchon ccccd1da11 Sort VariantData's members alphabetically 2023-05-25 09:06:05 +02:00
Benoit Blanchon 78a30496be Define all VariantData's member functions inline 2023-05-25 09:03:16 +02:00
Benoit Blanchon 636c8c36eb Decouple MemoryPool from VariantSlot 2023-05-22 17:56:04 +02:00
Benoit Blanchon 5070fa6562 Rename memberFilter to elementFilter in deserializers 2023-05-22 14:11:59 +02:00
Benoit Blanchon d9e035a288 Remove VariantData::isEnclosed() 2023-05-22 09:46:35 +02:00
Benoit Blanchon aba8974148 Extract StringNode.hpp 2023-05-22 09:05:48 +02:00
Benoit Blanchon 044a4753d2 Rename StringCopier to StringBuilder 2023-05-10 10:12:55 +02:00
Benoit Blanchon ff0deee793 Remove string storage policy to always use StringCopier 2023-05-10 10:02:48 +02:00
Benoit Blanchon 37357086e2 Remove the zero-copy mode
After removing the string size from `VariantContent`, `deserializeJson()` and `deserializeMsgPack()` could not support NUL in strings in the zero-copy mode anymore.
Instead of adding a complicated warning in the documentation, I thought it was better to remove the zero-copy mode entirely.
The zero-copy mode has always been a source of bugs because many users used it without realizing it.
Also, the memory savings are smaller now that we deduplicate strings, so this feature should not be missed much.
2023-05-10 09:55:21 +02:00
Benoit Blanchon 9321f8fdab Remove string size from VariantContent (#1650) 2023-05-02 18:56:17 +02:00
Benoit Blanchon 167ea08c53 Pass StringNode* to VariantData 2023-05-02 18:56:02 +02:00
Benoit Blanchon 5c0338970c Remove StoragePolicy 2023-05-02 17:52:53 +02:00
Benoit Blanchon fead19560c Rename visitRawJson() to visitRawString() 2023-05-02 10:06:27 +02:00
Benoit Blanchon 86772d33bc Rename VALUE_IS_OWNED_RAW to VALUE_IS_RAW_STRING 2023-05-02 10:03:37 +02:00
Benoit Blanchon a035116018 Remove unused struct RawData 2023-05-02 10:00:46 +02:00
Benoit Blanchon 806fa907ab Always store serialized("string") by copy (#1915) 2023-05-02 09:36:40 +02:00
Benoit Blanchon 95f5d9d134 Fix compatibility with the Blynk libary (fixes #1914)
Ported from 52d8a65cbc
2023-04-21 19:08:53 +02:00
Benoit Blanchon 03139a08af Set default for ARDUINOJSON_ENABLE_PROGMEM to 1 on AVR
Ported from 082ae69e86
2023-04-21 19:08:53 +02:00
Benoit Blanchon 461cdaa818 Allow using PROGMEM outside of Arduino (fixes #1903)
Ported from 40daf56b5a
2023-04-21 19:08:53 +02:00
Benoit Blanchon dd46813dc0 Change naming convention from _member to member_ (fixes #1905)
Ported from 31ce648e63
2023-04-21 18:59:48 +02:00
Benoit Blanchon 5d796781fb Increase coverage 2023-04-21 18:39:47 +02:00
Benoit Blanchon f5e7570f84 Simplify CollectionData to work only with VariantSlot* 2023-04-21 16:11:54 +02:00
Benoit Blanchon 003087406c Reference-count shared strings 2023-04-21 16:11:54 +02:00
Benoit Blanchon b7c8e0d25c Decouple VariantData from MemoryPool 2023-04-21 16:11:54 +02:00
Benoit Blanchon 30c111fd3d Remove callback from storeString() 2023-04-17 10:42:08 +02:00
Benoit Blanchon 9d0714efdf Remove unused MemoryPool::_left 2023-04-17 10:42:08 +02:00
Benoit Blanchon d8f3058efa Store the strings in the heap 2023-04-17 10:42:08 +02:00
Benoit Blanchon 7c0fa7c276 Add MemoryPool::deallocPool() 2023-04-08 09:20:27 +02:00
Benoit Blanchon 5e0e35615c Double speed of DynamicJsonDocument::garbageCollect() 2023-04-05 16:50:52 +02:00
Benoit Blanchon c4b879645a Remove JsonDocument::capacity() 2023-04-03 09:51:43 +02:00
Benoit Blanchon 035c913c72 Remove ARDUINOJSON_ENABLE_STRING_DEDUPLICATION 2023-03-29 19:28:44 +02:00
Benoit Blanchon 3f43c2b816 Remove JSON_ARRAY_SIZE(), JSON_OBJECT_SIZE(), and JSON_STRING_SIZE() 2023-03-29 19:18:06 +02:00
Benoit Blanchon 0328f66340 Fix compatibility with GCC 5.2 2023-03-28 17:24:45 +02:00
Benoit Blanchon 8516b368ad Set version to 7.0.0-alpha 2023-03-28 14:45:55 +02:00
Benoit Blanchon 5faa3df43f MemoryPool calls the Allocator directly 2023-03-20 15:03:09 +01:00
Benoit Blanchon 540901e219 Merge DynamicJsonDocument with JsonDocument 2023-03-20 14:49:51 +01:00
Benoit Blanchon db9258bcd7 Remove BasicJsonDocument 2023-03-20 14:49:08 +01:00
Benoit Blanchon 24aaab6e3e Add abstract Allocator class 2023-03-20 14:47:27 +01:00
Benoit Blanchon 17a482a9b1 Remove StaticJsonDocument 2023-03-20 10:40:35 +01:00
Benoit Blanchon 5edd435fe9 Add a constructor to VariantData 2023-03-20 10:14:54 +01:00
Benoit Blanchon de9239caab Set version to 6.21.0 2023-03-14 21:05:56 +01:00
Benoit Blanchon c89a2025ce Make string support generic (issue #1807) 2023-03-13 12:19:05 +01:00
Benoit Blanchon 42ae8c3037 Remove negativeBinaryPowersOfTenPlusOne 2023-02-22 15:42:10 +01:00
Benoit Blanchon 319ececf26 Keep only one implementation of make_float() 2023-02-22 15:42:10 +01:00
Benoit Blanchon 886254c41e Reduce size of make_float() 2023-02-22 15:42:10 +01:00
Benoit Blanchon 4e7099dc73 Add pgm_ptr<T> 2023-02-22 15:42:10 +01:00
Benoit Blanchon 26948cb83a Use 64-bits literals to forge 64-bits literals 2023-02-22 11:40:15 +01:00
Benoit Blanchon 0f8698e655 Replace ARDUINOJSON_EXPANDX with variadic macros (#1820) 2023-02-22 11:24:51 +01:00
Benoit Blanchon b2b995edb3 Use delete instead of hiding copy constructors and assignments (#1820) 2023-02-17 10:59:57 +01:00
Benoit Blanchon 33a4773fbd Set clang-format standard to C++11 (#1820) 2023-02-16 11:51:02 +01:00