Пример #1
0
/* 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;
}