зеркало из https://github.com/mozilla/pjs.git
refactoring |ToUpperCase|, |ToLowerCase|
This commit is contained in:
Родитель
febd47d9c6
Коммит
3d24e98950
|
@ -17,18 +17,23 @@
|
|||
* Copyright (C) 2000 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Original Author:
|
||||
* Scott Collins <scc@mozilla.org>
|
||||
*
|
||||
* Contributor(s):
|
||||
* Scott Collins <scc@mozilla.org> (original author)
|
||||
* Johnny Stenbeck <jst@netscape.com>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef nsReadableUtils_h___
|
||||
#define nsReadableUtils_h___
|
||||
|
||||
#include "nsAReadableString.h"
|
||||
/**
|
||||
* I guess all the routines in this file are all mis-named.
|
||||
* According to our conventions, they should be |NS_xxx|.
|
||||
*/
|
||||
|
||||
#ifndef nsAWritableString_h___
|
||||
#include "nsAWritableString.h"
|
||||
#include "nsCRT.h"
|
||||
#endif
|
||||
|
||||
NS_COM void CopyUCS2toASCII( const nsAReadableString& aSource, nsAWritableCString& aDest );
|
||||
NS_COM void CopyASCIItoUCS2( const nsAReadableCString& aSource, nsAWritableString& aDest );
|
||||
|
@ -121,53 +126,14 @@ NS_COM PRUnichar* CopyUnicodeTo( const nsAReadableString& aSource,
|
|||
NS_COM PRBool IsASCII( const nsAReadableString& aString );
|
||||
|
||||
|
||||
//
|
||||
// |ToUpperCase(basic_nsAWritableString<CharT>&)|
|
||||
//
|
||||
template <class CharT>
|
||||
void
|
||||
ToUpperCase(basic_nsAWritableString<CharT>& aString)
|
||||
{
|
||||
nsWritingIterator<CharT> start( aString.BeginWriting() );
|
||||
nsWritingIterator<CharT> end( aString.EndWriting() );
|
||||
|
||||
while ( start != end ) {
|
||||
PRUint32 fraglen = start.size_forward();
|
||||
PRUint32 num_bytes = fraglen;
|
||||
CharT *buf = start.get();
|
||||
|
||||
while ( num_bytes-- ) {
|
||||
*buf = nsCRT::ToUpper(*buf);
|
||||
++buf;
|
||||
}
|
||||
|
||||
start += fraglen;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// |ToUpperCase(basic_nsAWritableString<CharT>&)|
|
||||
//
|
||||
template <class CharT>
|
||||
void
|
||||
ToLowerCase(basic_nsAWritableString<CharT>& aString)
|
||||
{
|
||||
nsWritingIterator<CharT> start( aString.BeginWriting() );
|
||||
nsWritingIterator<CharT> end( aString.EndWriting() );
|
||||
|
||||
while ( start != end ) {
|
||||
PRUint32 fraglen = start.size_forward();
|
||||
PRUint32 num_bytes = fraglen;
|
||||
CharT *buf = start.get();
|
||||
|
||||
while ( num_bytes-- ) {
|
||||
*buf = nsCRT::ToLower(*buf);
|
||||
++buf;
|
||||
}
|
||||
|
||||
start += fraglen;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Converts case in place in the argument string.
|
||||
*/
|
||||
NS_COM void ToUpperCase( nsAWritableString& );
|
||||
NS_COM void ToUpperCase( nsAWritableCString& );
|
||||
|
||||
NS_COM void ToLowerCase( nsAWritableString& );
|
||||
NS_COM void ToLowerCase( nsAWritableCString& );
|
||||
|
||||
#endif // !defined(nsReadableUtils_h___)
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include "nsReadableUtils.h"
|
||||
#include "nsMemory.h"
|
||||
#include "nsString.h"
|
||||
#include "nsCRT.h"
|
||||
|
||||
|
||||
|
||||
|
@ -214,7 +215,7 @@ IsASCII( const nsAReadableString& aString )
|
|||
nsReadingIterator<PRUnichar> iter;
|
||||
for ( aString.BeginReading(iter); iter != done_reading; iter.advance( PRInt32(fragmentLength) ) )
|
||||
{
|
||||
fragmentLength = iter.size_forward();
|
||||
fragmentLength = PRUint32(iter.size_forward());
|
||||
const PRUnichar* c = iter.get();
|
||||
const PRUnichar* fragmentEnd = c + fragmentLength;
|
||||
|
||||
|
@ -227,3 +228,77 @@ IsASCII( const nsAReadableString& aString )
|
|||
return PR_TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* A character sink for case conversion.
|
||||
*/
|
||||
template <class CharT>
|
||||
class ConvertToUpperCase
|
||||
{
|
||||
public:
|
||||
typedef CharT value_type;
|
||||
|
||||
PRUint32
|
||||
write( const CharT* aSource, PRUint32 aSourceLength )
|
||||
{
|
||||
for ( int i=0; i<aSourceLength; ++i )
|
||||
NS_CONST_CAST(CharT*, aSource)[i] = nsCRT::ToUpper(aSource[i]);
|
||||
return aSourceLength;
|
||||
}
|
||||
};
|
||||
|
||||
NS_COM
|
||||
void
|
||||
ToUpperCase( nsAWritableString& aString )
|
||||
{
|
||||
nsAWritableString::iterator fromBegin, fromEnd;
|
||||
ConvertToUpperCase<PRUnichar> converter;
|
||||
copy_string(aString.BeginWriting(fromBegin), aString.EndWriting(fromEnd), converter);
|
||||
}
|
||||
|
||||
NS_COM
|
||||
void
|
||||
ToUpperCase( nsAWritableCString& aCString )
|
||||
{
|
||||
nsAWritableCString::iterator fromBegin, fromEnd;
|
||||
ConvertToUpperCase<char> converter;
|
||||
copy_string(aCString.BeginWriting(fromBegin), aCString.EndWriting(fromEnd), converter);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* A character sink for case conversion.
|
||||
*/
|
||||
template <class CharT>
|
||||
class ConvertToLowerCase
|
||||
{
|
||||
public:
|
||||
typedef CharT value_type;
|
||||
|
||||
PRUint32
|
||||
write( const CharT* aSource, PRUint32 aSourceLength )
|
||||
{
|
||||
for ( int i=0; i<aSourceLength; ++i )
|
||||
NS_CONST_CAST(CharT*, aSource)[i] = nsCRT::ToLower(aSource[i]);
|
||||
return aSourceLength;
|
||||
}
|
||||
};
|
||||
|
||||
NS_COM
|
||||
void
|
||||
ToLowerCase( nsAWritableString& aString )
|
||||
{
|
||||
nsAWritableString::iterator fromBegin, fromEnd;
|
||||
ConvertToLowerCase<PRUnichar> converter;
|
||||
copy_string(aString.BeginWriting(fromBegin), aString.EndWriting(fromEnd), converter);
|
||||
}
|
||||
|
||||
NS_COM
|
||||
void
|
||||
ToLowerCase( nsAWritableCString& aCString )
|
||||
{
|
||||
nsAWritableCString::iterator fromBegin, fromEnd;
|
||||
ConvertToLowerCase<char> converter;
|
||||
copy_string(aCString.BeginWriting(fromBegin), aCString.EndWriting(fromEnd), converter);
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include "nsReadableUtils.h"
|
||||
#include "nsMemory.h"
|
||||
#include "nsString.h"
|
||||
#include "nsCRT.h"
|
||||
|
||||
|
||||
|
||||
|
@ -214,7 +215,7 @@ IsASCII( const nsAReadableString& aString )
|
|||
nsReadingIterator<PRUnichar> iter;
|
||||
for ( aString.BeginReading(iter); iter != done_reading; iter.advance( PRInt32(fragmentLength) ) )
|
||||
{
|
||||
fragmentLength = iter.size_forward();
|
||||
fragmentLength = PRUint32(iter.size_forward());
|
||||
const PRUnichar* c = iter.get();
|
||||
const PRUnichar* fragmentEnd = c + fragmentLength;
|
||||
|
||||
|
@ -227,3 +228,77 @@ IsASCII( const nsAReadableString& aString )
|
|||
return PR_TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* A character sink for case conversion.
|
||||
*/
|
||||
template <class CharT>
|
||||
class ConvertToUpperCase
|
||||
{
|
||||
public:
|
||||
typedef CharT value_type;
|
||||
|
||||
PRUint32
|
||||
write( const CharT* aSource, PRUint32 aSourceLength )
|
||||
{
|
||||
for ( int i=0; i<aSourceLength; ++i )
|
||||
NS_CONST_CAST(CharT*, aSource)[i] = nsCRT::ToUpper(aSource[i]);
|
||||
return aSourceLength;
|
||||
}
|
||||
};
|
||||
|
||||
NS_COM
|
||||
void
|
||||
ToUpperCase( nsAWritableString& aString )
|
||||
{
|
||||
nsAWritableString::iterator fromBegin, fromEnd;
|
||||
ConvertToUpperCase<PRUnichar> converter;
|
||||
copy_string(aString.BeginWriting(fromBegin), aString.EndWriting(fromEnd), converter);
|
||||
}
|
||||
|
||||
NS_COM
|
||||
void
|
||||
ToUpperCase( nsAWritableCString& aCString )
|
||||
{
|
||||
nsAWritableCString::iterator fromBegin, fromEnd;
|
||||
ConvertToUpperCase<char> converter;
|
||||
copy_string(aCString.BeginWriting(fromBegin), aCString.EndWriting(fromEnd), converter);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* A character sink for case conversion.
|
||||
*/
|
||||
template <class CharT>
|
||||
class ConvertToLowerCase
|
||||
{
|
||||
public:
|
||||
typedef CharT value_type;
|
||||
|
||||
PRUint32
|
||||
write( const CharT* aSource, PRUint32 aSourceLength )
|
||||
{
|
||||
for ( int i=0; i<aSourceLength; ++i )
|
||||
NS_CONST_CAST(CharT*, aSource)[i] = nsCRT::ToLower(aSource[i]);
|
||||
return aSourceLength;
|
||||
}
|
||||
};
|
||||
|
||||
NS_COM
|
||||
void
|
||||
ToLowerCase( nsAWritableString& aString )
|
||||
{
|
||||
nsAWritableString::iterator fromBegin, fromEnd;
|
||||
ConvertToLowerCase<PRUnichar> converter;
|
||||
copy_string(aString.BeginWriting(fromBegin), aString.EndWriting(fromEnd), converter);
|
||||
}
|
||||
|
||||
NS_COM
|
||||
void
|
||||
ToLowerCase( nsAWritableCString& aCString )
|
||||
{
|
||||
nsAWritableCString::iterator fromBegin, fromEnd;
|
||||
ConvertToLowerCase<char> converter;
|
||||
copy_string(aCString.BeginWriting(fromBegin), aCString.EndWriting(fromEnd), converter);
|
||||
}
|
||||
|
|
|
@ -17,18 +17,23 @@
|
|||
* Copyright (C) 2000 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Original Author:
|
||||
* Scott Collins <scc@mozilla.org>
|
||||
*
|
||||
* Contributor(s):
|
||||
* Scott Collins <scc@mozilla.org> (original author)
|
||||
* Johnny Stenbeck <jst@netscape.com>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef nsReadableUtils_h___
|
||||
#define nsReadableUtils_h___
|
||||
|
||||
#include "nsAReadableString.h"
|
||||
/**
|
||||
* I guess all the routines in this file are all mis-named.
|
||||
* According to our conventions, they should be |NS_xxx|.
|
||||
*/
|
||||
|
||||
#ifndef nsAWritableString_h___
|
||||
#include "nsAWritableString.h"
|
||||
#include "nsCRT.h"
|
||||
#endif
|
||||
|
||||
NS_COM void CopyUCS2toASCII( const nsAReadableString& aSource, nsAWritableCString& aDest );
|
||||
NS_COM void CopyASCIItoUCS2( const nsAReadableCString& aSource, nsAWritableString& aDest );
|
||||
|
@ -121,53 +126,14 @@ NS_COM PRUnichar* CopyUnicodeTo( const nsAReadableString& aSource,
|
|||
NS_COM PRBool IsASCII( const nsAReadableString& aString );
|
||||
|
||||
|
||||
//
|
||||
// |ToUpperCase(basic_nsAWritableString<CharT>&)|
|
||||
//
|
||||
template <class CharT>
|
||||
void
|
||||
ToUpperCase(basic_nsAWritableString<CharT>& aString)
|
||||
{
|
||||
nsWritingIterator<CharT> start( aString.BeginWriting() );
|
||||
nsWritingIterator<CharT> end( aString.EndWriting() );
|
||||
|
||||
while ( start != end ) {
|
||||
PRUint32 fraglen = start.size_forward();
|
||||
PRUint32 num_bytes = fraglen;
|
||||
CharT *buf = start.get();
|
||||
|
||||
while ( num_bytes-- ) {
|
||||
*buf = nsCRT::ToUpper(*buf);
|
||||
++buf;
|
||||
}
|
||||
|
||||
start += fraglen;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// |ToUpperCase(basic_nsAWritableString<CharT>&)|
|
||||
//
|
||||
template <class CharT>
|
||||
void
|
||||
ToLowerCase(basic_nsAWritableString<CharT>& aString)
|
||||
{
|
||||
nsWritingIterator<CharT> start( aString.BeginWriting() );
|
||||
nsWritingIterator<CharT> end( aString.EndWriting() );
|
||||
|
||||
while ( start != end ) {
|
||||
PRUint32 fraglen = start.size_forward();
|
||||
PRUint32 num_bytes = fraglen;
|
||||
CharT *buf = start.get();
|
||||
|
||||
while ( num_bytes-- ) {
|
||||
*buf = nsCRT::ToLower(*buf);
|
||||
++buf;
|
||||
}
|
||||
|
||||
start += fraglen;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Converts case in place in the argument string.
|
||||
*/
|
||||
NS_COM void ToUpperCase( nsAWritableString& );
|
||||
NS_COM void ToUpperCase( nsAWritableCString& );
|
||||
|
||||
NS_COM void ToLowerCase( nsAWritableString& );
|
||||
NS_COM void ToLowerCase( nsAWritableCString& );
|
||||
|
||||
#endif // !defined(nsReadableUtils_h___)
|
||||
|
|
|
@ -17,18 +17,23 @@
|
|||
* Copyright (C) 2000 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Original Author:
|
||||
* Scott Collins <scc@mozilla.org>
|
||||
*
|
||||
* Contributor(s):
|
||||
* Scott Collins <scc@mozilla.org> (original author)
|
||||
* Johnny Stenbeck <jst@netscape.com>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef nsReadableUtils_h___
|
||||
#define nsReadableUtils_h___
|
||||
|
||||
#include "nsAReadableString.h"
|
||||
/**
|
||||
* I guess all the routines in this file are all mis-named.
|
||||
* According to our conventions, they should be |NS_xxx|.
|
||||
*/
|
||||
|
||||
#ifndef nsAWritableString_h___
|
||||
#include "nsAWritableString.h"
|
||||
#include "nsCRT.h"
|
||||
#endif
|
||||
|
||||
NS_COM void CopyUCS2toASCII( const nsAReadableString& aSource, nsAWritableCString& aDest );
|
||||
NS_COM void CopyASCIItoUCS2( const nsAReadableCString& aSource, nsAWritableString& aDest );
|
||||
|
@ -121,53 +126,14 @@ NS_COM PRUnichar* CopyUnicodeTo( const nsAReadableString& aSource,
|
|||
NS_COM PRBool IsASCII( const nsAReadableString& aString );
|
||||
|
||||
|
||||
//
|
||||
// |ToUpperCase(basic_nsAWritableString<CharT>&)|
|
||||
//
|
||||
template <class CharT>
|
||||
void
|
||||
ToUpperCase(basic_nsAWritableString<CharT>& aString)
|
||||
{
|
||||
nsWritingIterator<CharT> start( aString.BeginWriting() );
|
||||
nsWritingIterator<CharT> end( aString.EndWriting() );
|
||||
|
||||
while ( start != end ) {
|
||||
PRUint32 fraglen = start.size_forward();
|
||||
PRUint32 num_bytes = fraglen;
|
||||
CharT *buf = start.get();
|
||||
|
||||
while ( num_bytes-- ) {
|
||||
*buf = nsCRT::ToUpper(*buf);
|
||||
++buf;
|
||||
}
|
||||
|
||||
start += fraglen;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// |ToUpperCase(basic_nsAWritableString<CharT>&)|
|
||||
//
|
||||
template <class CharT>
|
||||
void
|
||||
ToLowerCase(basic_nsAWritableString<CharT>& aString)
|
||||
{
|
||||
nsWritingIterator<CharT> start( aString.BeginWriting() );
|
||||
nsWritingIterator<CharT> end( aString.EndWriting() );
|
||||
|
||||
while ( start != end ) {
|
||||
PRUint32 fraglen = start.size_forward();
|
||||
PRUint32 num_bytes = fraglen;
|
||||
CharT *buf = start.get();
|
||||
|
||||
while ( num_bytes-- ) {
|
||||
*buf = nsCRT::ToLower(*buf);
|
||||
++buf;
|
||||
}
|
||||
|
||||
start += fraglen;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Converts case in place in the argument string.
|
||||
*/
|
||||
NS_COM void ToUpperCase( nsAWritableString& );
|
||||
NS_COM void ToUpperCase( nsAWritableCString& );
|
||||
|
||||
NS_COM void ToLowerCase( nsAWritableString& );
|
||||
NS_COM void ToLowerCase( nsAWritableCString& );
|
||||
|
||||
#endif // !defined(nsReadableUtils_h___)
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include "nsReadableUtils.h"
|
||||
#include "nsMemory.h"
|
||||
#include "nsString.h"
|
||||
#include "nsCRT.h"
|
||||
|
||||
|
||||
|
||||
|
@ -214,7 +215,7 @@ IsASCII( const nsAReadableString& aString )
|
|||
nsReadingIterator<PRUnichar> iter;
|
||||
for ( aString.BeginReading(iter); iter != done_reading; iter.advance( PRInt32(fragmentLength) ) )
|
||||
{
|
||||
fragmentLength = iter.size_forward();
|
||||
fragmentLength = PRUint32(iter.size_forward());
|
||||
const PRUnichar* c = iter.get();
|
||||
const PRUnichar* fragmentEnd = c + fragmentLength;
|
||||
|
||||
|
@ -227,3 +228,77 @@ IsASCII( const nsAReadableString& aString )
|
|||
return PR_TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* A character sink for case conversion.
|
||||
*/
|
||||
template <class CharT>
|
||||
class ConvertToUpperCase
|
||||
{
|
||||
public:
|
||||
typedef CharT value_type;
|
||||
|
||||
PRUint32
|
||||
write( const CharT* aSource, PRUint32 aSourceLength )
|
||||
{
|
||||
for ( int i=0; i<aSourceLength; ++i )
|
||||
NS_CONST_CAST(CharT*, aSource)[i] = nsCRT::ToUpper(aSource[i]);
|
||||
return aSourceLength;
|
||||
}
|
||||
};
|
||||
|
||||
NS_COM
|
||||
void
|
||||
ToUpperCase( nsAWritableString& aString )
|
||||
{
|
||||
nsAWritableString::iterator fromBegin, fromEnd;
|
||||
ConvertToUpperCase<PRUnichar> converter;
|
||||
copy_string(aString.BeginWriting(fromBegin), aString.EndWriting(fromEnd), converter);
|
||||
}
|
||||
|
||||
NS_COM
|
||||
void
|
||||
ToUpperCase( nsAWritableCString& aCString )
|
||||
{
|
||||
nsAWritableCString::iterator fromBegin, fromEnd;
|
||||
ConvertToUpperCase<char> converter;
|
||||
copy_string(aCString.BeginWriting(fromBegin), aCString.EndWriting(fromEnd), converter);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* A character sink for case conversion.
|
||||
*/
|
||||
template <class CharT>
|
||||
class ConvertToLowerCase
|
||||
{
|
||||
public:
|
||||
typedef CharT value_type;
|
||||
|
||||
PRUint32
|
||||
write( const CharT* aSource, PRUint32 aSourceLength )
|
||||
{
|
||||
for ( int i=0; i<aSourceLength; ++i )
|
||||
NS_CONST_CAST(CharT*, aSource)[i] = nsCRT::ToLower(aSource[i]);
|
||||
return aSourceLength;
|
||||
}
|
||||
};
|
||||
|
||||
NS_COM
|
||||
void
|
||||
ToLowerCase( nsAWritableString& aString )
|
||||
{
|
||||
nsAWritableString::iterator fromBegin, fromEnd;
|
||||
ConvertToLowerCase<PRUnichar> converter;
|
||||
copy_string(aString.BeginWriting(fromBegin), aString.EndWriting(fromEnd), converter);
|
||||
}
|
||||
|
||||
NS_COM
|
||||
void
|
||||
ToLowerCase( nsAWritableCString& aCString )
|
||||
{
|
||||
nsAWritableCString::iterator fromBegin, fromEnd;
|
||||
ConvertToLowerCase<char> converter;
|
||||
copy_string(aCString.BeginWriting(fromBegin), aCString.EndWriting(fromEnd), converter);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче