Skip to content

Commit b3ca892

Browse files
committed
Use int for all SFINAE
1 parent 166330b commit b3ca892

File tree

8 files changed

+27
-29
lines changed

8 files changed

+27
-29
lines changed

src/ArduinoJson/Array/JsonArray.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class JsonArray : public detail::VariantOperators<JsonArray> {
5353
// Returns a reference to the new element.
5454
// https://arduinojson.org/v7/api/jsonarray/add/
5555
template <typename T, detail::enable_if_t<
56-
detail::is_same<T, JsonVariant>::value, short> = 0>
56+
detail::is_same<T, JsonVariant>::value, int> = 0>
5757
JsonVariant add() const {
5858
return JsonVariant(detail::ArrayData::addElement(data_, resources_),
5959
resources_);
@@ -141,7 +141,7 @@ class JsonArray : public detail::VariantOperators<JsonArray> {
141141
// Gets or sets the element at the specified index.
142142
// https://arduinojson.org/v7/api/jsonarray/subscript/
143143
template <typename TVariant,
144-
detail::enable_if_t<detail::IsVariant<TVariant>::value, short> = 0>
144+
detail::enable_if_t<detail::IsVariant<TVariant>::value, int> = 0>
145145
detail::ElementProxy<JsonArray> operator[](const TVariant& variant) const {
146146
if (variant.template is<size_t>())
147147
return {*this, variant.template as<size_t>()};

src/ArduinoJson/Array/JsonArrayConst.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class JsonArrayConst : public detail::VariantOperators<JsonArrayConst> {
5656
// Returns the element at the specified index.
5757
// https://arduinojson.org/v7/api/jsonarrayconst/subscript/
5858
template <typename TVariant,
59-
detail::enable_if_t<detail::IsVariant<TVariant>::value, short> = 0>
59+
detail::enable_if_t<detail::IsVariant<TVariant>::value, int> = 0>
6060
JsonVariantConst operator[](const TVariant& variant) const {
6161
if (variant.template is<size_t>())
6262
return operator[](variant.template as<size_t>());

src/ArduinoJson/Document/JsonDocument.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ class JsonDocument : public detail::VariantOperators<const JsonDocument&> {
178178
// DEPRECATED: use obj[key].is<T>() instead
179179
// https://arduinojson.org/v7/api/jsondocument/containskey/
180180
template <typename TVariant,
181-
detail::enable_if_t<detail::IsVariant<TVariant>::value, short> = 0>
181+
detail::enable_if_t<detail::IsVariant<TVariant>::value, int> = 0>
182182
ARDUINOJSON_DEPRECATED("use doc[key].is<T>() instead")
183183
bool containsKey(const TVariant& key) const {
184184
return containsKey(key.template as<const char*>());
@@ -239,7 +239,7 @@ class JsonDocument : public detail::VariantOperators<const JsonDocument&> {
239239
// Gets or sets a root object's member.
240240
// https://arduinojson.org/v7/api/jsondocument/subscript/
241241
template <typename TVariant,
242-
detail::enable_if_t<detail::IsVariant<TVariant>::value, short> = 0>
242+
detail::enable_if_t<detail::IsVariant<TVariant>::value, int> = 0>
243243
JsonVariantConst operator[](const TVariant& key) const {
244244
if (key.template is<JsonString>())
245245
return operator[](key.template as<JsonString>());
@@ -261,7 +261,7 @@ class JsonDocument : public detail::VariantOperators<const JsonDocument&> {
261261
// Returns a reference to the new element.
262262
// https://arduinojson.org/v7/api/jsondocument/add/
263263
template <typename T, detail::enable_if_t<
264-
detail::is_same<T, JsonVariant>::value, short> = 0>
264+
detail::is_same<T, JsonVariant>::value, int> = 0>
265265
JsonVariant add() {
266266
return JsonVariant(data_.addElement(&resources_), &resources_);
267267
}
@@ -312,7 +312,7 @@ class JsonDocument : public detail::VariantOperators<const JsonDocument&> {
312312
// Removes a member of the root object or an element of the root array.
313313
// https://arduinojson.org/v7/api/jsondocument/remove/
314314
template <typename TVariant,
315-
detail::enable_if_t<detail::IsVariant<TVariant>::value, short> = 0>
315+
detail::enable_if_t<detail::IsVariant<TVariant>::value, int> = 0>
316316
void remove(const TVariant& key) {
317317
if (key.template is<const char*>())
318318
remove(key.template as<const char*>());

src/ArduinoJson/Object/JsonObject.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ class JsonObject : public detail::VariantOperators<JsonObject> {
145145
// Removes the member with the specified key.
146146
// https://arduinojson.org/v7/api/jsonobject/remove/
147147
template <typename TVariant,
148-
detail::enable_if_t<detail::IsVariant<TVariant>::value, short> = 0>
148+
detail::enable_if_t<detail::IsVariant<TVariant>::value, int> = 0>
149149
void remove(const TVariant& key) const {
150150
if (key.template is<const char*>())
151151
remove(key.template as<const char*>());
@@ -174,7 +174,7 @@ class JsonObject : public detail::VariantOperators<JsonObject> {
174174
template <typename TChar,
175175
detail::enable_if_t<detail::IsString<TChar*>::value &&
176176
!detail::is_const<TChar>::value,
177-
short> = 0>
177+
int> = 0>
178178
ARDUINOJSON_DEPRECATED("use obj[\"key\"].is<T>() instead")
179179
bool containsKey(TChar* key) const {
180180
return detail::ObjectData::getMember(data_, detail::adaptString(key),

src/ArduinoJson/Object/JsonObjectConst.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ class JsonObjectConst : public detail::VariantOperators<JsonObjectConst> {
9090
// DEPRECATED: use obj[key].is<T>() instead
9191
// https://arduinojson.org/v7/api/jsonobjectconst/containskey/
9292
template <typename TVariant,
93-
detail::enable_if_t<detail::IsVariant<TVariant>::value, short> = 0>
93+
detail::enable_if_t<detail::IsVariant<TVariant>::value, int> = 0>
9494
ARDUINOJSON_DEPRECATED("use obj[key].is<T>() instead")
9595
bool containsKey(const TVariant& key) const {
9696
return containsKey(key.template as<const char*>());

src/ArduinoJson/Variant/JsonVariantConst.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class JsonVariantConst : public detail::VariantTag,
8989
// Always returns false for the unsupported types.
9090
// https://arduinojson.org/v7/api/jsonvariantconst/is/
9191
template <typename T,
92-
detail::enable_if_t<!ConversionSupported<T>::value, short> = 0>
92+
detail::enable_if_t<!ConversionSupported<T>::value, int> = 0>
9393
bool is() const {
9494
return false;
9595
}
@@ -135,7 +135,7 @@ class JsonVariantConst : public detail::VariantTag,
135135
// specified index.
136136
// https://arduinojson.org/v7/api/jsonvariantconst/subscript/
137137
template <typename TVariant,
138-
detail::enable_if_t<detail::IsVariant<TVariant>::value, short> = 0>
138+
detail::enable_if_t<detail::IsVariant<TVariant>::value, int> = 0>
139139
JsonVariantConst operator[](const TVariant& key) const {
140140
if (key.template is<size_t>())
141141
return operator[](key.template as<size_t>());
@@ -168,7 +168,7 @@ class JsonVariantConst : public detail::VariantTag,
168168
// DEPRECATED: use obj[key].is<T>() instead
169169
// https://arduinojson.org/v7/api/jsonvariantconst/containskey/
170170
template <typename TVariant,
171-
detail::enable_if_t<detail::IsVariant<TVariant>::value, short> = 0>
171+
detail::enable_if_t<detail::IsVariant<TVariant>::value, int> = 0>
172172
ARDUINOJSON_DEPRECATED("use var[key].is<T>() instead")
173173
bool containsKey(const TVariant& key) const {
174174
return containsKey(key.template as<const char*>());

src/ArduinoJson/Variant/VariantRefBase.hpp

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,12 @@ class VariantRefBase : public VariantTag {
5555

5656
// Sets the value to an empty array.
5757
// https://arduinojson.org/v7/api/jsonvariant/to/
58-
template <typename T, enable_if_t<is_same<T, JsonArray>::value, long> = 0>
58+
template <typename T, enable_if_t<is_same<T, JsonArray>::value, int> = 0>
5959
JsonArray to() const;
6060

6161
// Sets the value to an empty object.
6262
// https://arduinojson.org/v7/api/jsonvariant/to/
63-
template <typename T, enable_if_t<is_same<T, JsonObject>::value, short> = 0>
63+
template <typename T, enable_if_t<is_same<T, JsonObject>::value, int> = 0>
6464
JsonObject to() const;
6565

6666
// Sets the value to null.
@@ -113,7 +113,7 @@ class VariantRefBase : public VariantTag {
113113
// Appends a new (null) element to the array.
114114
// Returns a reference to the new element.
115115
// https://arduinojson.org/v7/api/jsonvariant/add/
116-
template <typename T, enable_if_t<is_same<T, JsonVariant>::value, short> = 0>
116+
template <typename T, enable_if_t<is_same<T, JsonVariant>::value, int> = 0>
117117
T add() const;
118118

119119
// Appends a value to the array.
@@ -156,8 +156,7 @@ class VariantRefBase : public VariantTag {
156156

157157
// Removes a member of the object or an element of the array.
158158
// https://arduinojson.org/v7/api/jsonvariant/remove/
159-
template <typename TVariant,
160-
enable_if_t<IsVariant<TVariant>::value, short> = 0>
159+
template <typename TVariant, enable_if_t<IsVariant<TVariant>::value, int> = 0>
161160
void remove(const TVariant& key) const {
162161
if (key.template is<size_t>())
163162
remove(key.template as<size_t>());
@@ -177,7 +176,7 @@ class VariantRefBase : public VariantTag {
177176

178177
// DEPRECATED: use obj["key"].is<T>() instead
179178
// https://arduinojson.org/v7/api/jsonvariant/containskey/
180-
template <typename TChar, enable_if_t<IsString<TChar*>::value, short> = 0>
179+
template <typename TChar, enable_if_t<IsString<TChar*>::value, int> = 0>
181180
ARDUINOJSON_DEPRECATED("use obj[\"key\"].is<T>() instead")
182181
bool containsKey(TChar* key) const;
183182

@@ -196,9 +195,9 @@ class VariantRefBase : public VariantTag {
196195

197196
// Gets or sets an object member.
198197
// https://arduinojson.org/v7/api/jsonvariant/subscript/
199-
template <typename TChar,
200-
enable_if_t<IsString<TChar*>::value && !is_const<TChar>::value,
201-
short> = 0>
198+
template <
199+
typename TChar,
200+
enable_if_t<IsString<TChar*>::value && !is_const<TChar>::value, int> = 0>
202201
FORCE_INLINE MemberProxy<TDerived, AdaptedString<TChar*>> operator[](
203202
TChar* key) const;
204203

src/ArduinoJson/Variant/VariantRefBaseImpl.hpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ inline void convertToJson(const VariantRefBase<TDerived>& src,
6767
}
6868

6969
template <typename TDerived>
70-
template <typename T, enable_if_t<is_same<T, JsonVariant>::value, short>>
70+
template <typename T, enable_if_t<is_same<T, JsonVariant>::value, int>>
7171
inline T VariantRefBase<TDerived>::add() const {
7272
return JsonVariant(
7373
detail::VariantData::addElement(getOrCreateData(), getResourceManager()),
@@ -82,7 +82,7 @@ inline bool VariantRefBase<TDerived>::containsKey(const TString& key) const {
8282
}
8383

8484
template <typename TDerived>
85-
template <typename TChar, enable_if_t<IsString<TChar*>::value, short>>
85+
template <typename TChar, enable_if_t<IsString<TChar*>::value, int>>
8686
inline bool VariantRefBase<TDerived>::containsKey(TChar* key) const {
8787
return VariantData::getMember(getData(), adaptString(key),
8888
getResourceManager()) != 0;
@@ -119,9 +119,8 @@ inline ElementProxy<TDerived> VariantRefBase<TDerived>::operator[](
119119
}
120120

121121
template <typename TDerived>
122-
template <
123-
typename TChar,
124-
enable_if_t<IsString<TChar*>::value && !is_const<TChar>::value, short>>
122+
template <typename TChar,
123+
enable_if_t<IsString<TChar*>::value && !is_const<TChar>::value, int>>
125124
inline MemberProxy<TDerived, AdaptedString<TChar*>>
126125
VariantRefBase<TDerived>::operator[](TChar* key) const {
127126
return {derived(), adaptString(key)};
@@ -149,15 +148,15 @@ inline bool VariantRefBase<TDerived>::doSet(const T& value, true_type) const {
149148
}
150149

151150
template <typename TDerived>
152-
template <typename T, enable_if_t<is_same<T, JsonArray>::value, long>>
151+
template <typename T, enable_if_t<is_same<T, JsonArray>::value, int>>
153152
inline JsonArray VariantRefBase<TDerived>::to() const {
154153
return JsonArray(
155154
VariantData::toArray(getOrCreateData(), getResourceManager()),
156155
getResourceManager());
157156
}
158157

159158
template <typename TDerived>
160-
template <typename T, enable_if_t<is_same<T, JsonObject>::value, short>>
159+
template <typename T, enable_if_t<is_same<T, JsonObject>::value, int>>
161160
JsonObject VariantRefBase<TDerived>::to() const {
162161
return JsonObject(
163162
VariantData::toObject(getOrCreateData(), getResourceManager()),

0 commit comments

Comments
 (0)