28 return d_func()->parent;
38 auto childParent = child->d_func()->parent.lock();
39 if ( childParent.get() ==
this )
43 childParent->removeChild( child );
46 d->children.insert( child );
49 child->d_func()->parent = tracker;
58 if ( child->d_func()->parent.lock().get() !=
this )
62 d->children.erase( child );
63 child->d_func()->parent.reset();
68 return d_func()->children;
73 return d_func()->threadId;
void removeChild(const Ptr &child)
std::thread::id threadId() const
std::weak_ptr< Base > WeakPtr
const std::unordered_set< Ptr > & children() const
void addChild(const Base::Ptr &child)
std::shared_ptr< Base > Ptr
std::weak_ptr< T > weak_this() const
std::unique_ptr< BasePrivate > d_ptr
#define ZYPP_IMPL_PRIVATE(Class)