Currently we rely on std::unique_ptr<T> for ownership, and T* for observer pointers. We have to do some convoluted logic to handle or avoid using dangling pointers (including this with alive_checker). This could be resolved by replacing this combo of pointers by observable_sealed_ptr<T> and observer_ptr<T> from https://github.com/cschreib/observable_unique_ptr
Currently we rely on
std::unique_ptr<T>
for ownership, andT*
for observer pointers. We have to do some convoluted logic to handle or avoid using dangling pointers (includingthis
withalive_checker
). This could be resolved by replacing this combo of pointers byobservable_sealed_ptr<T>
andobserver_ptr<T>
from https://github.com/cschreib/observable_unique_ptr