Browse Source

Math: fix compilation of tests under libc++.

std::forward() is not constexpr in C++11.
pull/107/head
Vladimír Vondruš 11 years ago
parent
commit
3b5e650af5
  1. 4
      src/Magnum/Math/Test/MatrixTest.cpp
  2. 2
      src/Magnum/Math/Test/RangeTest.cpp
  3. 4
      src/Magnum/Math/Test/RectangularMatrixTest.cpp

4
src/Magnum/Math/Test/MatrixTest.cpp

@ -294,12 +294,12 @@ void MatrixTest::invertedOrthogonal() {
template<class T> class BasicVec2: public Math::Vector<2, T> {
public:
template<class ...U> constexpr BasicVec2(U&&... args): Math::Vector<2, T>{std::forward<U>(args)...} {}
template<class ...U> constexpr BasicVec2(U&&... args): Math::Vector<2, T>{args...} {}
};
template<class T> class BasicMat2: public Math::Matrix<2, T> {
public:
template<class ...U> constexpr BasicMat2(U&&... args): Math::Matrix<2, T>{std::forward<U>(args)...} {}
template<class ...U> constexpr BasicMat2(U&&... args): Math::Matrix<2, T>{args...} {}
MAGNUM_MATRIX_SUBCLASS_IMPLEMENTATION(2, BasicMat2, BasicVec2)
};

2
src/Magnum/Math/Test/RangeTest.cpp

@ -448,7 +448,7 @@ void RangeTest::scaled() {
template<class T> class BasicRect: public Math::Range<2, T> {
public:
template<class ...U> BasicRect(U&&... args): Math::Range<2, T>{std::forward<U>(args)...} {}
template<class ...U> constexpr BasicRect(U&&... args): Math::Range<2, T>{args...} {}
MAGNUM_RANGE_SUBCLASS_IMPLEMENTATION(2, BasicRect, Vector2)
};

4
src/Magnum/Math/Test/RectangularMatrixTest.cpp

@ -438,7 +438,7 @@ void RectangularMatrixTest::vector() {
template<std::size_t size, class T> class BasicMat: public Math::RectangularMatrix<size, size, T> {
public:
template<class ...U> constexpr BasicMat(U&&... args): Math::RectangularMatrix<size, size, T>{std::forward<U>(args)...} {}
template<class ...U> constexpr BasicMat(U&&... args): Math::RectangularMatrix<size, size, T>{args...} {}
MAGNUM_RECTANGULARMATRIX_SUBCLASS_IMPLEMENTATION(size, size, BasicMat<size, T>)
};
@ -447,7 +447,7 @@ MAGNUM_MATRIX_OPERATOR_IMPLEMENTATION(BasicMat<size, T>)
template<class T> class BasicMat2x2: public BasicMat<2, T> {
public:
template<class ...U> constexpr BasicMat2x2(U&&... args): BasicMat<2, T>{std::forward<U>(args)...} {}
template<class ...U> constexpr BasicMat2x2(U&&... args): BasicMat<2, T>{args...} {}
MAGNUM_RECTANGULARMATRIX_SUBCLASS_IMPLEMENTATION(2, 2, BasicMat2x2<T>)
};

Loading…
Cancel
Save