mirror of
https://github.com/eledio-devices/thirdparty-ArduinoJson.git
synced 2025-11-01 00:38:27 +01:00
Simplify is_signed and is_unsigned
This commit is contained in:
@@ -4,27 +4,14 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "integral_constant.hpp"
|
|
||||||
#include "is_same.hpp"
|
|
||||||
#include "remove_cv.hpp"
|
#include "remove_cv.hpp"
|
||||||
|
|
||||||
namespace ARDUINOJSON_NAMESPACE {
|
namespace ARDUINOJSON_NAMESPACE {
|
||||||
|
|
||||||
// clang-format off
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct is_signed : integral_constant<bool,
|
struct is_signed {
|
||||||
is_same<typename remove_cv<T>::type, char>::value ||
|
typedef typename remove_cv<T>::type type;
|
||||||
is_same<typename remove_cv<T>::type, signed char>::value ||
|
static const bool value = type(-1) < type(0);
|
||||||
is_same<typename remove_cv<T>::type, signed short>::value ||
|
};
|
||||||
is_same<typename remove_cv<T>::type, signed int>::value ||
|
|
||||||
is_same<typename remove_cv<T>::type, signed long>::value ||
|
|
||||||
#if ARDUINOJSON_HAS_LONG_LONG
|
|
||||||
is_same<typename remove_cv<T>::type, signed long long>::value ||
|
|
||||||
#endif
|
|
||||||
#if ARDUINOJSON_HAS_INT64
|
|
||||||
is_same<typename remove_cv<T>::type, signed __int64>::value ||
|
|
||||||
#endif
|
|
||||||
is_same<typename remove_cv<T>::type, float>::value ||
|
|
||||||
is_same<typename remove_cv<T>::type, double>::value> {};
|
|
||||||
// clang-format on
|
|
||||||
} // namespace ARDUINOJSON_NAMESPACE
|
} // namespace ARDUINOJSON_NAMESPACE
|
||||||
|
|||||||
@@ -4,25 +4,14 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "integral_constant.hpp"
|
|
||||||
#include "is_same.hpp"
|
|
||||||
#include "remove_cv.hpp"
|
#include "remove_cv.hpp"
|
||||||
|
|
||||||
namespace ARDUINOJSON_NAMESPACE {
|
namespace ARDUINOJSON_NAMESPACE {
|
||||||
|
|
||||||
// clang-format off
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct is_unsigned : integral_constant<bool,
|
struct is_unsigned {
|
||||||
is_same<typename remove_cv<T>::type, unsigned char>::value ||
|
typedef typename remove_cv<T>::type type;
|
||||||
is_same<typename remove_cv<T>::type, unsigned short>::value ||
|
static const bool value = type(-1) > type(0);
|
||||||
is_same<typename remove_cv<T>::type, unsigned int>::value ||
|
};
|
||||||
is_same<typename remove_cv<T>::type, unsigned long>::value ||
|
|
||||||
#if ARDUINOJSON_HAS_INT64
|
|
||||||
is_same<typename remove_cv<T>::type, unsigned __int64>::value ||
|
|
||||||
#endif
|
|
||||||
#if ARDUINOJSON_HAS_LONG_LONG
|
|
||||||
is_same<typename remove_cv<T>::type, unsigned long long>::value ||
|
|
||||||
#endif
|
|
||||||
is_same<typename remove_cv<T>::type, bool>::value> {};
|
|
||||||
// clang-format on
|
|
||||||
} // namespace ARDUINOJSON_NAMESPACE
|
} // namespace ARDUINOJSON_NAMESPACE
|
||||||
|
|||||||
Reference in New Issue
Block a user