So it seems that using common pointer to parent object (instead of intrusive pointer) solves the problem.
ShareManager::Directory and ShareManager::Directory::File >>> GETSET(Directory*, parent, Parent); their constructors: parent(aParent.get())
So it seems that using common pointer to parent object (instead of intrusive pointer) solves the problem.
ShareManager: :Directory and ShareManager: :Directory: :File >>> GETSET(Directory*, parent, Parent); aParent. get())
their constructors: parent(