SharedObject WeakRef::shared() { SharedObject ret; if (alive()) { ret.assignNode((*this)->raw_); } return ret; }
SharedObject SharedObject::clone() const { SharedObject ret; if (!isNull()) { ret.assignNode((*this)->clone()); } return ret; }