std::weak_ptr support
std::weak_ptr<T>
is defined as #Nullable and uses the implementation of ozo::is_null()
examing the result of std::weak_ptr::lock()
method call.
The ozo::unwrap()
function is implemented dereferencing the result of std::weak_ptr::lock()
method call.
ozo::unwrap()
from std::weak_ptr
is not safe for reference holding since no object owning.