Rule-of-three/rule-of-five violations
For some classes we have to override the copy-assignment operator (e.g., Transpose<Derived>::operator=
) since they must actually do deep copies. The Rule of 5/3 requires to re-implement the copy-constructor (and the destructor) in these cases.
Actually, gcc-9 warns that implicitly declaring these is deprecated (the warning can be masked by compiling with -Wno-deprecated-copy
, but fixing this should be preferred, of course).