mirror of
https://github.com/eledio-devices/thirdparty-ArduinoJson.git
synced 2025-11-02 08:48:27 +01:00
Added a deprecation warning for as<char*>()
This commit is contained in:
@@ -46,20 +46,6 @@ class MemberProxy : public VariantOperators<MemberProxy<TObject, TStringRef> >,
|
||||
template <typename TValue>
|
||||
FORCE_INLINE typename enable_if<!is_array<TValue>::value, this_type &>::type
|
||||
operator=(const TValue &src) {
|
||||
/********************************************************************
|
||||
** THIS IS NOT A BUG IN THE LIBRARY **
|
||||
** -------------------------------- **
|
||||
** Get a compilation error pointing here? **
|
||||
** It doesn't mean the error *is* here. **
|
||||
** Often, it's because you try to assign the wrong value type. **
|
||||
** **
|
||||
** For example: **
|
||||
** char age = 42 **
|
||||
** doc["age"] = age; **
|
||||
** Instead, use: **
|
||||
** int8_t age = 42; **
|
||||
** doc["age"] = age; **
|
||||
********************************************************************/
|
||||
getOrAddUpstreamMember().set(src);
|
||||
return *this;
|
||||
}
|
||||
@@ -81,9 +67,16 @@ class MemberProxy : public VariantOperators<MemberProxy<TObject, TStringRef> >,
|
||||
return getUpstreamMember().isNull();
|
||||
}
|
||||
|
||||
template <typename TValue>
|
||||
FORCE_INLINE TValue as() const {
|
||||
return getUpstreamMember().template as<TValue>();
|
||||
template <typename T>
|
||||
FORCE_INLINE typename enable_if<!is_same<T, char *>::value, T>::type as()
|
||||
const {
|
||||
return getUpstreamMember().template as<T>();
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
FORCE_INLINE typename enable_if<is_same<T, char *>::value, const char *>::type
|
||||
DEPRECATED("Replace as<char*>() with as<const char*>()") as() const {
|
||||
return as<const char *>();
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
|
Reference in New Issue
Block a user