Browse Source

Math: an attempt to fix scatter() on GCC 4.8.

pull/326/merge
Vladimír Vondruš 7 years ago
parent
commit
2a3d02d217
  1. 9
      src/Magnum/Math/Swizzle.h

9
src/Magnum/Math/Swizzle.h

@ -140,7 +140,14 @@ Inverse to @ref gather(), supporting the same component addressing except for
@see @ref matrix-vector-component-access, @ref Vector4::xyz(), @see @ref matrix-vector-component-access, @ref Vector4::xyz(),
@ref Vector4::rgb(), @ref Vector4::xy(), @ref Vector3::xy() @ref Vector4::rgb(), @ref Vector4::xy(), @ref Vector3::xy()
*/ */
template<char ...components, class T> constexpr T scatter(const T& vector, const Vector<sizeof...(components), typename T::Type>& values) { #ifdef DOXYGEN_GENERATING_OUTPUT
template<char ...components, class T> constexpr T scatter(const T& vector, const Vector<sizeof...(components), typename T::Type>& values)
#else
/* Using std::common_type otherwise GCC 4.8 fails to match the arguments
in SwizzleTest::scatterOneComponent() */
template<char ...components, class T> constexpr T scatter(const T& vector, const typename std::common_type<Vector<sizeof...(components), typename T::Type>>::type& values)
#endif
{
return Implementation::scatterRecursive<T, sizeof...(components), components...>(vector, values, 0); return Implementation::scatterRecursive<T, sizeof...(components), components...>(vector, values, 0);
} }

Loading…
Cancel
Save