Commit Graph

75 Commits

Author SHA1 Message Date
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
1d103a1528 MemberProxy: move tests for createNestedArray() and createNestedObject() 2022-04-27 15:07:26 +02:00
8d9504239b Fix comparisons operators with const JsonDocument& 2022-04-05 10:12:17 +02:00
bf5d0c790c Add implicit conversion from JsonDocument to JsonVariant 2022-03-23 17:17:35 +01:00
f4379f97ae Format code with clang-format 2022-03-23 17:17:35 +01:00
3dc67c5663 Add memoryUsage() to ElementProxy and MemberProxy (fixes #1730) 2022-03-19 12:11:40 +01:00
89ed54362b Fix -Wsign-conversion on GCC 8 (fixes #1715) 2022-02-25 10:28:42 +01:00
ee12155617 Fix crash when adding an object member in a too small JsonDocument 2022-01-13 11:52:45 +01:00
af18994deb Update copyright notice 2022-01-01 10:01:05 +01:00
e16767af92 Avoid pool reallocation in BasicJsonDocument's copy assignment 2021-12-16 14:42:54 +01:00