copy_string(aSource.BeginReading(), aSource.EndReading(), LossyConvertEncoding<char, PRUnichar>(aDest.BeginWriting().get()));
nsReadingIterator<char> fromBegin, fromEnd; nsWritingIterator<PRUnichar> toBegin; copy_string(aSource.BeginReading(fromBegin), aSource.EndReading(fromEnd), LossyConvertEncoding<char, PRUnichar>(aDest.BeginWriting(toBegin).get()));
CopyASCIItoUCS2( const nsAReadableCString& aSource, nsAWritableString& aDest )  {      // right now, this won't work on multi-fragment destinations    aDest.SetLength(aSource.Length());    copy_string(aSource.BeginReading(), aSource.EndReading(), LossyConvertEncoding<char, PRUnichar>(aDest.BeginWriting().get()));  }