|
|
|
|
@ -673,7 +673,12 @@ namespace Implementation {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#ifndef CORRADE_GCC45_COMPATIBILITY |
|
|
|
|
template<std::size_t cols, std::size_t rows, class T> template<std::size_t ...sequence> inline constexpr RectangularMatrix<cols, rows, T>::RectangularMatrix(Implementation::Sequence<sequence...>, const Vector<DiagonalSize, T>& diagonal): _data{Implementation::diagonalMatrixColumn<rows, sequence>(sequence < DiagonalSize ? diagonal[sequence] : T{})...} {} |
|
|
|
|
template<std::size_t cols, std::size_t rows, class T> template<std::size_t ...sequence> inline constexpr RectangularMatrix<cols, rows, T>::RectangularMatrix(Implementation::Sequence<sequence...>, const Vector<DiagonalSize, T>& diagonal):
|
|
|
|
|
#ifndef CORRADE_MSVC2013_COMPATIBILITY |
|
|
|
|
_data{Implementation::diagonalMatrixColumn<rows, sequence>(sequence < DiagonalSize ? diagonal[sequence] : T{})...} {} |
|
|
|
|
#else |
|
|
|
|
_data({Implementation::diagonalMatrixColumn<rows, sequence>(sequence < DiagonalSize ? diagonal[sequence] : T{})...}) {} |
|
|
|
|
#endif |
|
|
|
|
#else |
|
|
|
|
template<std::size_t cols, std::size_t rows, class T> template<std::size_t ...sequence> inline RectangularMatrix<cols, rows, T>::RectangularMatrix(Implementation::Sequence<sequence...>, const Vector<DiagonalSize, T>& diagonal) { |
|
|
|
|
constructInternal({Implementation::diagonalMatrixColumn<rows, sequence>(sequence < DiagonalSize ? diagonal[sequence] : T{})...}); |
|
|
|
|
|