Browse Source

Math: avoid std::is_pod.

GCC 10 complains that it's deprecated.
pull/454/head
Vladimír Vondruš 6 years ago
parent
commit
a7956de7ba
  1. 4
      src/Magnum/Math/Dual.h

4
src/Magnum/Math/Dual.h

@ -72,7 +72,7 @@ template<class T> class Dual {
constexpr explicit Dual(ZeroInitT) noexcept; constexpr explicit Dual(ZeroInitT) noexcept;
#else #else
/* MSVC 2015 can't handle {} instead of ::value */ /* MSVC 2015 can't handle {} instead of ::value */
template<class U = T, class = typename std::enable_if<std::is_pod<U>::value>::type> constexpr explicit Dual(ZeroInitT) noexcept: _real{}, _dual{} {} template<class U = T, class = typename std::enable_if<std::is_standard_layout<U>::value && std::is_trivial<U>::value>::type> constexpr explicit Dual(ZeroInitT) noexcept: _real{}, _dual{} {}
template<class U = T, class V = T, class = typename std::enable_if<std::is_constructible<U, ZeroInitT>::value>::type> constexpr explicit Dual(ZeroInitT) noexcept: _real{ZeroInit}, _dual{ZeroInit} {} template<class U = T, class V = T, class = typename std::enable_if<std::is_constructible<U, ZeroInitT>::value>::type> constexpr explicit Dual(ZeroInitT) noexcept: _real{ZeroInit}, _dual{ZeroInit} {}
#endif #endif
@ -81,7 +81,7 @@ template<class T> class Dual {
explicit Dual(NoInitT) noexcept; explicit Dual(NoInitT) noexcept;
#else #else
/* MSVC 2015 can't handle {} instead of ::value */ /* MSVC 2015 can't handle {} instead of ::value */
template<class U = T, class = typename std::enable_if<std::is_pod<U>::value>::type> explicit Dual(NoInitT) noexcept {} template<class U = T, class = typename std::enable_if<std::is_standard_layout<U>::value && std::is_trivial<U>::value>::type> explicit Dual(NoInitT) noexcept {}
template<class U = T, class V = T, class = typename std::enable_if<std::is_constructible<U, NoInitT>::value>::type> explicit Dual(NoInitT) noexcept: _real{NoInit}, _dual{NoInit} {} template<class U = T, class V = T, class = typename std::enable_if<std::is_constructible<U, NoInitT>::value>::type> explicit Dual(NoInitT) noexcept: _real{NoInit}, _dual{NoInit} {}
#endif #endif

Loading…
Cancel
Save