FLocMetadataObject::FLocMetadataObject( const FLocMetadataObject& Other ) { for( auto KeyIter = Other.Values.CreateConstIterator(); KeyIter; ++KeyIter ) { const FString& Key = (*KeyIter).Key; const TSharedPtr< FLocMetadataValue > Value = (*KeyIter).Value; if( Value.IsValid() ) { this->Values.Add( Key, Value->Clone() ); } } }
FLocMetadataObject& FLocMetadataObject::operator=( const FLocMetadataObject& Other ) { if( this != &Other ) { this->Values.Empty( Other.Values.Num() ); for( auto KeyIter = Other.Values.CreateConstIterator(); KeyIter; ++KeyIter ) { const FString& Key = (*KeyIter).Key; const TSharedPtr< FLocMetadataValue > Value = (*KeyIter).Value; if( Value.IsValid() ) { this->Values.Add( Key, Value->Clone() ); } } } return *this; }