Use _v traits variable aliases (C++17 feature)

This commit is contained in:
Mat Sutcliffe
2021-04-17 20:43:42 +01:00
parent 6d232756f4
commit 5d67cd9f68
32 changed files with 67 additions and 67 deletions

View File

@@ -19,8 +19,8 @@ namespace XSwiftBus
//! "safe" cast from integer to void*
template <typename T> void *voidptr_cast(T i)
{
static_assert(std::is_integral<T>::value, "voidptr_cast expects an integer");
using intptr_type = std::conditional_t<std::is_signed<T>::value, intptr_t, uintptr_t>;
static_assert(std::is_integral_v<T>, "voidptr_cast expects an integer");
using intptr_type = std::conditional_t<std::is_signed_v<T>, intptr_t, uintptr_t>;
return reinterpret_cast<void *>(static_cast<intptr_type>(i));
}
@@ -28,7 +28,7 @@ namespace XSwiftBus
template <typename T> T intptr_cast(void *p)
{
static_assert(std::is_integral<T>::value, "voidptr_cast returns an integer");
using intptr_type = std::conditional_t<std::is_signed<T>::value, intptr_t, uintptr_t>;
using intptr_type = std::conditional_t<std::is_signed_v<T>, intptr_t, uintptr_t>;
return static_cast<T>(reinterpret_cast<intptr_type>(p));
}