const input_type* done_writing = aSource + aSourceLength; while ( aSource < done_writing ) *mDestination++ = (output_type)(unsigned_input_type)(*aSource++); return aSourceLength;
for ( const CharT *end = chars + N; chars < end; ++chars) mHashCode = (mHashCode>>28) ^ (mHashCode<<4) ^ PRUint32(*chars); return N;
      write( const input_type* aSource, PRUint32 aSourceLength )        {          const input_type* done_writing = aSource + aSourceLength;          while ( aSource < done_writing )            *mDestination++ = (output_type)(unsigned_input_type)(*aSource++);  // use old-style cast to mimic old |ns[C]String| behavior          return aSourceLength;        }