Commit Graph
582 Commits
Author SHA1 Message Date
Benoit Blanchon cf4436e581 Extract VariantProxy from ElementProxy and MemberProxy 2022-08-30 10:25:03 +02:00
Benoit Blanchon 2b6bb78a09 Don't call operator VariantConstRef in VariantComparer 2022-08-30 10:25:03 +02:00
Benoit Blanchon ffa7f8d22d Make MemberProxy and `ElementProxy similar 2022-08-30 10:25:03 +02:00
Benoit Blanchon 8002722f3b Clang-format: set DerivePointerAlignment to false 2022-08-09 16:52:17 +02:00
Benoit Blanchon 62e83133cd Remove JsonDocument::data() and JsonDocument::memoryPool() 2022-08-09 10:38:36 +02:00
Benoit Blanchon 1d21027e2a Fix lax parsing of true, false, and null (fixes #1781) 2022-08-06 09:15:07 +02:00
Benoit Blanchon dde9e9fc26 Remove member MsgPackDeserializer::_error
This reduces the code size by 54 bytes on AVR.
2022-07-29 11:51:46 +02:00
Benoit Blanchon a6da4ad452 Remove member JsonDeserializer::_error
This reduces the code size by 72 bytes on AVR.
2022-07-29 11:51:46 +02:00
Benoit Blanchon 84b7037b3e Add VariantAttorney 2022-07-07 14:32:43 +02:00
Benoit Blanchon c5838a876b Remove getElement(), getOrAddElement(), getMember(), and getOrAddMember() 2022-07-07 14:32:43 +02:00
Benoit Blanchon 750cd0be92 Add collectionToVariant() 2022-07-07 14:32:43 +02:00
Benoit Blanchon 758580bfb6 Rename addElement() to add() 2022-07-07 14:32:43 +02:00
Benoit Blanchon 58c7c919f2 Remove unused arrayAccept() and objectAccept() 2022-07-07 09:44:58 +02:00
Benoit Blanchon 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
Benoit Blanchon 3b3ab8c4e1 Inline variantAsArray() and variantAsObject() 2022-07-05 14:02:41 +02:00
Benoit Blanchon 5b06b1564e Remove undocumented accept() functions 2022-07-03 17:38:03 +02:00
Benoit Blanchon 77b4270d97 Remove Visitable 2022-07-03 15:37:08 +02:00
Benoit Blanchon e2bb2cec7b Fix comparison operators for JsonObject and JsonObjectConst 2022-06-10 11:14:59 +02:00
Benoit Blanchon ff4e837df5 Fix comparison operators for JsonArray and JsonArrayConst 2022-06-09 21:06:32 +02:00
Benoit Blanchon fb904033d3 Replace serializeJson()'s template parameter with JsonVariantConst 2022-06-02 20:36:32 +02:00
Benoit Blanchon e6cd16aec4 Add missing const specifiers in serializers 2022-05-23 19:20:15 +02:00
Benoit Blanchon ee74c3bb1c Inline variantAccept() 2022-05-23 19:17:18 +02:00
Benoit Blanchon 37faa7ce13 Merge definitions of VariantConstRef::accept() and VariantRef::accept() 2022-05-23 19:11:09 +02:00
Benoit Blanchon 3d6c328a4f Add JsonVariant::link() (resolves #1343) 2022-04-27 15:08:13 +02:00
Benoit Blanchon 7b19a4b6e7 Add getMemberConst() and getElementConst() 2022-04-27 15:07:26 +02:00
Benoit Blanchon ac1d29fac0 Add meta function ConverterNeedsWriteableRef<T> 2022-04-27 15:07:26 +02:00
Benoit Blanchon 98037e5742 Move several functions from VariantImpl.hpp to VariantRef.hpp 2022-04-27 15:07:26 +02:00
Benoit Blanchon d0e3808dd0 Move declaration of VariantConstRef above VariantRef 2022-04-27 15:07:25 +02:00
Benoit Blanchon 3760a643cb Implement comparison out of VariantData 2022-04-27 15:07:25 +02:00
Benoit Blanchon fc9d8aa31e Implement nesting() out of VariantData 2022-04-07 21:11:31 +02:00
Benoit Blanchon ccfbb5fd1d Fix 9.22337e+18 outside range of representable values of type 'long' 2022-04-07 20:59:20 +02:00
Benoit Blanchon 67b6797b6d Set version to 6.19.4 2022-04-05 10:53:11 +02:00
Benoit Blanchon 8d9504239b Fix comparisons operators with const JsonDocument& 2022-04-05 10:12:17 +02:00
Benoit Blanchon bf5d0c790c Add implicit conversion from JsonDocument to JsonVariant 2022-03-23 17:17:35 +01:00
Benoit Blanchon 3dc67c5663 Add memoryUsage() to ElementProxy and MemberProxy (fixes #1730) 2022-03-19 12:11:40 +01:00
Benoit Blanchon 7abf875071 Set version to 6.19.3 2022-03-08 17:24:14 +01:00
Benoit Blanchon e3e375f5cd MessagePack: serialize round floats as integers (fixes #1718) 2022-02-28 19:38:26 +01:00
Benoit Blanchon ff06292d74 Fix -Wsign-conversion -funsigned-char (fixes #1715) 2022-02-28 10:00:12 +01:00
Benoit Blanchon 89ed54362b Fix -Wsign-conversion on GCC 8 (fixes #1715) 2022-02-25 10:28:42 +01:00
Benoit Blanchon f831ed395d Fix JsonString operator == and != for non-zero-terminated string 2022-02-17 17:33:16 +01:00
Benoit Blanchon a880614a75 Fix call of overloaded 'String(const char*, int)' is ambiguous 2022-02-17 17:33:16 +01:00
Benoit Blanchon ef8379df1b Set version to 6.19.2 2022-02-14 09:06:06 +01:00
Benoit Blanchon 702f8c2e2f Fix cannot convert 'pgm_p' to 'const void*' (fixes #1707) 2022-02-06 11:14:23 +01:00
Benoit Blanchon 6ea2815341 Set version to 6.19.1 2022-01-14 08:49:57 +01:00
Benoit Blanchon 3c145f1782 Add assertions to comfort Clang-Tidy 2022-01-13 20:25:49 +01:00
Benoit Blanchon 21b2c76524 Fix filter not working in zero-copy mode (fixes #1697) 2022-01-13 20:25:49 +01:00
Benoit Blanchon 4f6244eef4 Replace CopiedString and LinkedString with JsonString 2022-01-13 16:15:53 +01:00
Benoit Blanchon 973858b835 Remove unused CopiedString in MemoryPool 2022-01-13 16:10:42 +01:00
Benoit Blanchon ee12155617 Fix crash when adding an object member in a too small JsonDocument 2022-01-13 11:52:45 +01:00
Benoit Blanchon 9693fd2d74 Set version to 6.19.0 2022-01-08 16:21:29 +01:00