Fix compiler errors on ARCHER2 with PrgEnv-cray
Two changes are proposed in this merge request. These changes are necessary to compile Nektar++ on ARCHER2 using the Cray Programming Environment (PrgEnv-cray
)
-
Mark several classes in
Collections
as "final
". These classes have already been "marked" asfinal
by setting their destructors tofinal
. Because of this, the Cray compiler complains that the classes themselves are not marked as final too (a derived class would have to implement its own destructor). This merge request addresses this issue, and does not change the behaviour of the code in any way. I.e., if there would have been a derived class in the code, the compiler would have complained once the classes were marked asfinal
. -
The
struct PushBackFunctor
class contains a move assignment operator (operator=
) which was defined to not do anything. The Cray compiler complained about this. In this merge request, the move assignment operator has been explicitly deleted by using "operator=() delete
". This update does not change the behaviour of the code, since the move assignment operator is not used. Note that, if it would have been used before, the compiler would have complained that the operator is now deleted. This does not happen.