Commit Graph
782 Commits
Author SHA1 Message Date
Benoit Blanchon be5d5300a2 Add a stub for DynamicJsonDocument 2023-08-10 09:54:40 +02:00
Benoit Blanchon ea5b019552 Add a stub for StaticJsonDocument 2023-08-10 09:54:28 +02:00
Benoit Blanchon adea7f4131 Extract VariantRefBaseImpl.hpp 2023-08-09 12:08:21 +02:00
Benoit Blanchon 7f459adc4b Remove createNestedArray() and createNestedObject() 2023-08-09 12:08:21 +02:00
Benoit Blanchon cdc1262127 Remove unused JsonDocument constructor 2023-08-09 11:07:27 +02:00
Benoit Blanchon f422b7b37d Replace add() with add<T>() (add(T) is still supported) 2023-08-09 10:57:52 +02:00
Benoit Blanchon 7a587ac2e2 Fix some getVariant() that were accidentally renamed to getSlot() 2023-08-09 10:08:40 +02:00
Benoit Blanchon 57454cf97b Don't call shrinkToFit() for deserializeXxx(JsonVariant) 2023-08-01 18:48:10 +02:00
Benoit Blanchon af6954c224 serializeXxx() sets std::string and String instead of appending 2023-07-31 18:37:35 +02:00
Benoit Blanchon 218a12ca46 Call shrinkToFit() in deserializeJson() and deserializeMsgPack() 2023-07-31 17:34:17 +02:00
Benoit Blanchon 752d01a7f1 Add an enable_if to validate the first argument to deserializeXxx() 2023-07-29 12:05:18 +02:00
Benoit Blanchon 43eed00cd9 Add deserializeXxx(JsonVariant, ...) (resolves #1226) 2023-07-29 12:05:18 +02:00
Benoit Blanchon a8329564e2 Remove JsonDocument::garbageCollect() 2023-07-25 14:37:25 +02:00
Benoit Blanchon 00c9d8680a Remove memoryUsage() 2023-07-24 17:21:25 +02:00
Benoit Blanchon 2fdacb1ca0 Reduce size of CollectionData::clear() 2023-07-24 10:33:06 +02:00
Benoit Blanchon 228c4cf9fa JsonDocument: use the copy-and-swap idiom 2023-07-24 10:13:17 +02:00
Benoit Blanchon 5458e916ea Show a link to the doc when user passes an unsupported input type
Ported from 7eec01cdd6
2023-07-23 18:08:21 +02:00
Benoit Blanchon 1a14499612 Preallocate pool list 2023-07-21 17:57:13 +02:00
Benoit Blanchon f427706e06 VariantPoolList: handle SlotId overflow 2023-07-21 17:57:13 +02:00
Benoit Blanchon 8be0d57d24 VariantPoolList: reduce the size of capacity_ and count_ 2023-07-21 09:47:25 +02:00
Benoit Blanchon 8fcaebb44a Detect null slot id earlier in VariantPoolList::getSlot() 2023-07-20 18:04:06 +02:00
Benoit Blanchon 727a1013ca Recycle removed slots 2023-07-20 18:04:06 +02:00
Benoit Blanchon 781e449e78 CollectionData::releaseSlot() takes an iterator 2023-07-20 17:53:52 +02:00
Benoit Blanchon d4af8cffa7 Store current and next slot id in CollectionIterator 2023-07-20 17:53:52 +02:00
Benoit Blanchon 0f3c73a211 Remove VariantPool::capacity() 2023-07-18 09:08:55 +02:00
Benoit Blanchon 0f319e7ca4 Remove capacity from JsonDocument's constructor 2023-07-18 09:08:55 +02:00
Benoit Blanchon 42b2840009 Create more memory pools as needed (resolves #1074) 2023-07-18 09:08:55 +02:00
Benoit Blanchon c4e5051a7a Store index of slot in the pool instead of a pointer or a distance 2023-07-17 11:20:46 +02:00
Benoit Blanchon 8aec448adf Add missing declaration of offsetof() 2023-07-17 11:20:46 +02:00
Benoit Blanchon 9538bc32af Implement the object copy at the JsonObject level 2023-07-17 11:20:46 +02:00
Benoit Blanchon b2aa0029b9 Implement array copy at the JsonArray level 2023-07-17 11:20:46 +02:00
Benoit Blanchon 57e9134540 Implement variant copy at the JsonVariant level 2023-07-17 11:20:46 +02:00
Benoit Blanchon fb4cb96c6c Move JsonArray and JsonObject converters to ConverterImpl.hpp 2023-07-17 11:20:46 +02:00
Benoit Blanchon 5e3f84c718 Merge all visitXxx() into one overloaded visit() function 2023-07-17 11:20:46 +02:00
Benoit Blanchon 64922343e6 visitNull() takes a nullptr_t 2023-07-17 11:20:46 +02:00
Benoit Blanchon 1d07abddcd Add nullptr_t 2023-07-17 11:20:46 +02:00
Benoit Blanchon 21bf4973de visitRawString() takes a RawString 2023-07-17 11:20:46 +02:00
Benoit Blanchon da845ae01d visitString() takes a JsonString 2023-07-17 11:20:46 +02:00
Benoit Blanchon 5a9d3422f5 Add JsonVariantVisitor and use it for comparisons 2023-07-17 11:20:46 +02:00
Benoit Blanchon 7a9feb4d6e Rename Visitor to VariantDataVisitor 2023-07-17 11:20:46 +02:00
Benoit Blanchon 39e8b63746 Remove shallowCopy() 2023-07-17 11:20:46 +02:00
Benoit Blanchon c37990d791 CollectionData: addSlot() returns an iterator 2023-07-17 11:20:46 +02:00
Benoit Blanchon fac5b5a7a7 CollectionData: allocate the slot in addSlot() 2023-07-17 11:20:46 +02:00
Benoit Blanchon 5ceb5d1813 Use CollectionIterator in CollectionData::memoryUsage() 2023-07-17 11:20:46 +02:00
Benoit Blanchon ec4c73db0b Use CollectionIterator in CollectionData::nesting() 2023-07-17 11:20:45 +02:00
Benoit Blanchon f86b22cf4f Replace slotRelease() with CollectionData::releaseSlot() 2023-07-17 11:20:45 +02:00
Benoit Blanchon 78a74c4017 Inline slotSize() 2023-07-17 11:20:45 +02:00
Benoit Blanchon dae0182914 Convert CollectionIterator to GoF style 2023-07-17 11:20:45 +02:00
Benoit Blanchon 0f511b873d VariantPool: store VariantSlots instead of chars 2023-07-12 15:03:56 +02:00
Benoit Blanchon 1d96826371 Add a ResourceManager* member to JsonArrayConst, JsonObjectConst, and JsonVariantConst 2023-07-12 15:03:56 +02:00