refs #624 Use std alias traits.

This commit is contained in:
Mathew Sutcliffe
2016-03-20 21:50:41 +00:00
parent 23a7f9b719
commit a8fc899219
17 changed files with 47 additions and 47 deletions

View File

@@ -20,7 +20,7 @@ namespace XBus
template <typename T> void *voidptr_cast(T i)
{
static_assert(std::is_integral<T>::value, "voidptr_cast expects an integer");
typedef typename std::conditional<std::is_signed<T>::value, intptr_t, uintptr_t>::type intptr_type;
using intptr_type = std::conditional_t<std::is_signed<T>::value, intptr_t, uintptr_t>;
return reinterpret_cast<void *>(static_cast<intptr_type>(i));
}
@@ -28,7 +28,7 @@ namespace XBus
template <typename T> T intptr_cast(void *p)
{
static_assert(std::is_integral<T>::value, "voidptr_cast returns an integer");
typedef typename std::conditional<std::is_signed<T>::value, intptr_t, uintptr_t>::type intptr_type;
using intptr_type = std::conditional_t<std::is_signed<T>::value, intptr_t, uintptr_t>;
return static_cast<T>(reinterpret_cast<intptr_type>(p));
}