isInteger() (6796,5602)

This commit is contained in:
Benoit Blanchon
2022-03-29 12:27:45 +02:00
parent 5c1fbaa43f
commit fc009cfc5d
2 changed files with 2 additions and 4 deletions

View File

@@ -55,7 +55,7 @@ struct Converter<
static bool checkJson(VariantConstRef src) { static bool checkJson(VariantConstRef src) {
const VariantData* data = getData(src); const VariantData* data = getData(src);
return data && data->isInteger<T>(); return data && data->resolve()->isInteger<T>();
} }
}; };
@@ -71,7 +71,7 @@ struct Converter<T, typename enable_if<is_enum<T>::value>::type> {
static bool checkJson(VariantConstRef src) { static bool checkJson(VariantConstRef src) {
const VariantData* data = getData(src); const VariantData* data = getData(src);
return data && data->isInteger<int>(); return data && data->resolve()->isInteger<int>();
} }
}; };

View File

@@ -125,8 +125,6 @@ class VariantData {
template <typename T> template <typename T>
bool isInteger() const { bool isInteger() const {
if (isPointer()) // P+0 G+0
return _content.asPointer->isInteger<T>();
switch (type()) { switch (type()) {
case VALUE_IS_UNSIGNED_INTEGER: case VALUE_IS_UNSIGNED_INTEGER:
return canConvertNumber<T>(_content.asUnsignedInteger); return canConvertNumber<T>(_content.asUnsignedInteger);