Benoit Blanchon
c3d5e9382d
Implement IsString from StringAdapter
2022-10-26 17:20:33 +02:00
Benoit Blanchon
ecb72f9a9d
Add StringAdapter<T>
2022-10-26 16:19:14 +02:00
Benoit Blanchon
7004c39af6
variantGetOrAddMember() takes an adapted string like all its siblings
2022-10-26 10:44:21 +02:00
Benoit Blanchon
057956225c
Add namespace StringStoragePolicy
2022-10-26 10:41:42 +02:00
Benoit Blanchon
b27990f780
Attach copy policy to string adapters
2022-10-26 10:37:18 +02:00
Benoit Blanchon
92d6bae25c
Remove ArrayIterator::internal() and ObjectIterator::internal()
2022-10-14 18:11:55 +02:00
Benoit Blanchon
6e17c3e6f9
Extract VariantRefBase from VariantProxy
2022-10-03 19:14:05 +02:00
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