Use smart ptr for ignore nodes
This MR introduces a
shared_ptr for handling the ignore nodes via the
CanIgnore class. That way dangling pointers will be less likely and one can be more confident in object lifetimes.
This, however, breaks the "interface" of directly assigning the member via a raw pointer:
this->ignoreNodes_ = &some_bitvector;
This MR already fixes this pattern for some
dune-solvers classes by using the simple fix
which is essentially equivalent.
However, other modules (say
dune-tnnmg) also rely on this and would need to be fixed. One could set up some hack to still allow the direct assignment but in fact (considering the trivial fix above) I'd prefer to just get rid of this pattern.