|
|
|
|
@ -81,6 +81,9 @@ namespace Implementation {
|
|
|
|
|
|
|
|
|
|
/* Used to make friends to speed up debug builds */ |
|
|
|
|
template<std::size_t, class> struct MatrixDeterminant; |
|
|
|
|
/* To make gather() / scatter() faster */ |
|
|
|
|
template<std::size_t, std::size_t> struct ComponentAtPosition; |
|
|
|
|
template<std::size_t, char, std::size_t> struct ComponentOr; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** @relatesalso Vector
|
|
|
|
|
@ -652,6 +655,9 @@ template<std::size_t size, class T> class Vector {
|
|
|
|
|
template<std::size_t, std::size_t, class> friend class RectangularMatrix; |
|
|
|
|
template<std::size_t, class> friend class Matrix; |
|
|
|
|
template<std::size_t, class> friend struct Implementation::MatrixDeterminant; |
|
|
|
|
/* To make gather() / scatter() faster */ |
|
|
|
|
template<std::size_t, std::size_t> friend struct Implementation::ComponentAtPosition; |
|
|
|
|
template<std::size_t, char, std::size_t> friend struct Implementation::ComponentOr; |
|
|
|
|
|
|
|
|
|
/* So the out-of-class comparators can access data directly to avoid
|
|
|
|
|
function call overhead */ |
|
|
|
|
|