for ( const CharT *end = chars + N; chars < end; ++chars) mHashCode = (mHashCode>>28) ^ (mHashCode<<4) ^ PRUint32(*chars); return N;
PRUint32 len = PR_MIN(PRUint32(mIter.size_forward()), aSourceLength); char* cp = mIter.get(); const char* end = aSource + len; while (aSource != end) { char ch = *aSource; if ((ch >= 'a') && (ch <= 'z')) *cp = ch - ('a' - 'A'); else *cp = ch; ++aSource; ++cp; } mIter.advance(len); return len;
      PRUint32 write( const CharT* chars, PRUint32 N )        {          for ( const CharT *end = chars + N; chars < end; ++chars)            mHashCode = (mHashCode>>28) ^ (mHashCode<<4) ^ PRUint32(*chars);          return N;        }