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
this->setIgnore(some_bitvector);
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.
Edited by lh1887