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