TiXmlNode* TiXmlElement::Clone() const { TiXmlElement* clone = new TiXmlElement( Value() ); if ( !clone ) return 0; CopyToClone( clone ); // Clone the attributes, then clone the children. TiXmlAttribute* attribute = 0; for( attribute = attributeSet.First(); attribute; attribute = attribute->Next() ) { clone->SetAttribute( attribute->Name(), attribute->Value() ); } TiXmlNode* node = 0; for ( node = firstChild; node; node = node->NextSibling() ) { clone->LinkEndChild( node->Clone() ); } return clone; }
TiXmlNode* TiXmlComment::Clone() const { TiXmlComment* clone = new TiXmlComment(); if ( !clone ) return 0; CopyToClone( clone ); return clone; }
TiXmlNode* TiXmlUnknown::Clone() const { TiXmlUnknown* clone = new TiXmlUnknown(); if ( !clone ) return 0; CopyToClone( clone ); return clone; }
TiXmlNodeA* TiXmlCommentA::Clone() const { TiXmlCommentA* clone = new TiXmlCommentA(); if ( !clone ) return 0; CopyToClone( clone ); return clone; }
TiXmlNodeA* TiXmlUnknownA::Clone() const { TiXmlUnknownA* clone = new TiXmlUnknownA(); if ( !clone ) return 0; CopyToClone( clone ); return clone; }
TiXmlNodeA* TiXmlTextA::Clone() const { TiXmlTextA* clone = new TiXmlTextA( "" ); if ( !clone ) return 0; CopyToClone( clone ); return clone; }
TiXmlNode* TiXmlText::Clone() const { TiXmlText* clone = 0; clone = new TiXmlText( TEXT("") ); if ( !clone ) return 0; CopyToClone( clone ); return clone; }
vsxTiXmlNode* vsxTiXmlText::Clone() const { vsxTiXmlText* clone = 0; clone = new vsxTiXmlText( "" ); if ( !clone ) return 0; CopyToClone( clone ); return clone; }
TiXmlNode* TiXmlDeclaration::Clone() const { TiXmlDeclaration* clone = new TiXmlDeclaration(); if ( !clone ) return 0; CopyToClone( clone ); clone->version = version; clone->encoding = encoding; clone->standalone = standalone; return clone; }
TiXmlNodeA* TiXmlDocumentA::Clone() const { TiXmlDocumentA* clone = new TiXmlDocumentA(); if ( !clone ) return 0; CopyToClone( clone ); clone->error = error; clone->errorDesc = errorDesc.c_str (); for ( TiXmlNodeA* node = firstChild; node; node = node->NextSibling() ) { clone->LinkEndChild( node->Clone() ); } return clone; }
TiXmlNode* TiXmlDocument::Clone() const { TiXmlDocument* clone = new TiXmlDocument(); if ( !clone ) return 0; CopyToClone( clone ); clone->error = error; clone->errorDesc = errorDesc; TiXmlNode* node = 0; for ( node = firstChild; node; node = node->NextSibling() ) { clone->LinkEndChild( node->Clone() ); } return clone; }