/* ArchiveTreeNode::clone * Returns a clone of this node *******************************************************************/ ArchiveTreeNode* ArchiveTreeNode::clone() { // Create copy ArchiveTreeNode* copy = new ArchiveTreeNode(); copy->setName(dir_entry->getName()); // Copy entries for (unsigned a = 0; a < entries.size(); a++) copy->addEntry(new ArchiveEntry(*(entries[a]))); // Copy subdirectories for (unsigned a = 0; a < children.size(); a++) copy->addChild(((ArchiveTreeNode*)children[a])->clone()); return copy; }