Commit Graph

84 Commits

Author SHA1 Message Date
c98ba999af Add more tests of JsonDocument constructor 2023-08-10 14:30:50 +02:00
7f459adc4b Remove createNestedArray() and createNestedObject() 2023-08-09 12:08:21 +02:00
f422b7b37d Replace add() with add<T>() (add(T) is still supported) 2023-08-09 10:57:52 +02:00
9a11d98117 Tests: make allocator assertions more readable 2023-07-26 09:28:21 +02:00
30ec507989 Tests: use a consistent naming convention for allocators 2023-07-25 14:53:54 +02:00
7a76da3bc7 Tests: rename ControllableAllocator to KillswitchAllocator 2023-07-25 14:46:25 +02:00
a8329564e2 Remove JsonDocument::garbageCollect() 2023-07-25 14:37:25 +02:00
00c9d8680a Remove memoryUsage() 2023-07-24 17:21:25 +02:00
1a14499612 Preallocate pool list 2023-07-21 17:57:13 +02:00
0f319e7ca4 Remove capacity from JsonDocument's constructor 2023-07-18 09:08:55 +02:00
42b2840009 Create more memory pools as needed (resolves #1074) 2023-07-18 09:08:55 +02:00
65c67d317a AllocatorLog: support nulls in deallocate() and reallocate() 2023-07-17 17:28:49 +02:00
c4e5051a7a Store index of slot in the pool instead of a pointer or a distance 2023-07-17 11:20:46 +02:00
39e8b63746 Remove shallowCopy() 2023-07-17 11:20:46 +02:00
c37990d791 CollectionData: addSlot() returns an iterator 2023-07-17 11:20:46 +02:00
0f511b873d VariantPool: store VariantSlots instead of chars 2023-07-12 15:03:56 +02:00
86772d33bc Rename VALUE_IS_OWNED_RAW to VALUE_IS_RAW_STRING 2023-05-02 10:03:37 +02:00
806fa907ab Always store serialized("string") by copy (#1915) 2023-05-02 09:36:40 +02:00
461cdaa818 Allow using PROGMEM outside of Arduino (fixes #1903)
Ported from 40daf56b5a
2023-04-21 19:08:53 +02:00
003087406c Reference-count shared strings 2023-04-21 16:11:54 +02:00
b7c8e0d25c Decouple VariantData from MemoryPool 2023-04-21 16:11:54 +02:00
d8f3058efa Store the strings in the heap 2023-04-17 10:42:08 +02:00
22e4f216c3 Tests: allow ArmoredAllocator to be called multiple times 2023-04-07 18:27:38 +02:00
e9850152a7 Tests: replace constants with sizeofString(n) 2023-04-07 14:50:54 +02:00
c4b879645a Remove JsonDocument::capacity() 2023-04-03 09:51:43 +02:00
0643c2e708 Test: gather JsonDocument constructor and assignment tests 2023-04-03 09:51:09 +02:00
bcf1339e89 Test: split JsonDocument.cpp into multiple files 2023-04-03 09:51:09 +02:00
dc463a2f72 Test: remove REQUIRE_JSON() 2023-04-03 09:51:09 +02:00
a7cdf638e7 Test: move ControllableAllocator 2023-04-03 09:51:09 +02:00
57810af2ac Test: include deallocated size in allocator's log 2023-04-02 16:47:59 +02:00
2eb726b744 Test: add AllocatorLog 2023-04-02 16:47:59 +02:00
912137ccfb Test: share SpyingAllocator 2023-04-01 10:34:48 +02:00
035c913c72 Remove ARDUINOJSON_ENABLE_STRING_DEDUPLICATION 2023-03-29 19:28:44 +02:00
3f43c2b816 Remove JSON_ARRAY_SIZE(), JSON_OBJECT_SIZE(), and JSON_STRING_SIZE() 2023-03-29 19:18:06 +02:00
540901e219 Merge DynamicJsonDocument with JsonDocument 2023-03-20 14:49:51 +01:00
db9258bcd7 Remove BasicJsonDocument 2023-03-20 14:49:08 +01:00
24aaab6e3e Add abstract Allocator class 2023-03-20 14:47:27 +01:00
17a482a9b1 Remove StaticJsonDocument 2023-03-20 10:40:35 +01:00
b2b995edb3 Use delete instead of hiding copy constructors and assignments (#1820) 2023-02-17 10:59:57 +01:00
daa87e12dc Update copyright notice 2023-02-16 11:45:01 +01:00
1b66a217bf Replace ARDUINOJSON_NAMESPACE with an inline namespace (#1820) 2023-02-14 10:04:48 +01:00
2be4ee732a Remove ARDUINOJSON_HAS_RVALUE_REFERENCES (#1820) 2023-02-10 17:02:52 +01:00
62dea9d364 Reformat CMake files 2023-02-10 17:02:51 +01:00
94b2b3f9ce Run all tests with C++11 enabled (#1820) 2023-02-10 17:02:51 +01:00
0f85a55cac Implement VariantRefBase with a CRTP 2022-12-05 21:00:24 +01:00
cf4436e581 Extract VariantProxy from ElementProxy and MemberProxy 2022-08-30 10:25:03 +02:00
8002722f3b Clang-format: set DerivePointerAlignment to false 2022-08-09 16:52:17 +02:00
758580bfb6 Rename addElement() to add() 2022-07-07 14:32:43 +02:00
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
3d6c328a4f Add JsonVariant::link() (resolves #1343) 2022-04-27 15:08:13 +02:00