mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 19:35:51 +00:00
adding |nsWork[C]String| classes
This commit is contained in:
parent
7141bc89e6
commit
22deb21d5b
@ -25,6 +25,8 @@
|
||||
|
||||
#include "nsWorkString.h"
|
||||
|
||||
static const PRUint32 kInitialWorkStringCapacity = 32;
|
||||
|
||||
void
|
||||
nsWorkString::SetLength( PRUint32 aNewLength )
|
||||
{
|
||||
@ -35,7 +37,7 @@ nsWorkString::SetLength( PRUint32 aNewLength )
|
||||
newCapacity += newCapacity;
|
||||
SetCapacity(newCapacity);
|
||||
}
|
||||
inherited::SetLength(aNewLength);
|
||||
nsString::SetLength(aNewLength);
|
||||
}
|
||||
|
||||
void
|
||||
@ -43,10 +45,10 @@ nsWorkCString::SetLength( PRUint32 aNewLength )
|
||||
{
|
||||
if ( aNewLength > mCapacity )
|
||||
{
|
||||
PRUint32 newCapacity = mCapacity ? mCapacity : kInitialWorkCStringCapacity;
|
||||
PRUint32 newCapacity = mCapacity ? mCapacity : kInitialWorkStringCapacity;
|
||||
while ( newCapacity < aNewLength )
|
||||
newCapacity += newCapacity;
|
||||
SetCapacity(newCapacity);
|
||||
}
|
||||
inherited::SetLength(aNewLength);
|
||||
nsCString::SetLength(aNewLength);
|
||||
}
|
||||
|
@ -37,32 +37,22 @@
|
||||
|
||||
class NS_COM nsWorkString : public nsString
|
||||
{
|
||||
private:
|
||||
typedef nsString inherited;
|
||||
|
||||
public:
|
||||
static const PRUint32 kInitialWorkStringCapacity = 32;
|
||||
|
||||
nsWorkString() : inherited() { }
|
||||
nsWorkString( const nsAReadableString& aReadable ) : inherited(aReadable) { }
|
||||
nsWorkString( const PRUnichar* aString, PRUint32 aLength ) : inherited(aString, PRInt32(aLength)) { }
|
||||
nsWorkString( const PRUnichar* aString ) : inherited(aString) { }
|
||||
nsWorkString() : nsString() { }
|
||||
nsWorkString( const nsAReadableString& aReadable ) : nsString(aReadable) { }
|
||||
nsWorkString( const PRUnichar* aString, PRUint32 aLength ) : nsString(aString, PRInt32(aLength)) { }
|
||||
nsWorkString( const PRUnichar* aString ) : nsString(aString) { }
|
||||
|
||||
virtual void SetLength( PRUint32 aNewLength );
|
||||
};
|
||||
|
||||
class NS_COM nsWorkCString : public nsCString
|
||||
{
|
||||
private:
|
||||
typedef nsCString inherited;
|
||||
|
||||
public:
|
||||
static const PRUint32 kInitialWorkCStringCapacity = 32;
|
||||
|
||||
nsWorkCString() : inherited() { }
|
||||
nsWorkCString( const nsAReadableCString& aReadable ) : inherited(aReadable) { }
|
||||
nsWorkCString( const char* aString, PRUint32 aLength ) : inherited(aString, PRInt32(aLength)) { }
|
||||
nsWorkCString( const char* aString ) : inherited(aString) { }
|
||||
nsWorkCString() : nsCString() { }
|
||||
nsWorkCString( const nsAReadableCString& aReadable ) : nsCString(aReadable) { }
|
||||
nsWorkCString( const char* aString, PRUint32 aLength ) : nsCString(aString, PRInt32(aLength)) { }
|
||||
nsWorkCString( const char* aString ) : nsCString(aString) { }
|
||||
|
||||
virtual void SetLength( PRUint32 aNewLength );
|
||||
};
|
||||
|
Binary file not shown.
@ -6,6 +6,7 @@
|
||||
|
||||
#include "nsString.h"
|
||||
#include "nsSharedString.h"
|
||||
#include "nsWorkString.h"
|
||||
|
||||
#ifdef TEST_STD_STRING
|
||||
#include "nsStdStringWrapper.h"
|
||||
@ -423,6 +424,19 @@ main()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
nsWorkCString s16("He");
|
||||
|
||||
s16.Append("llo");
|
||||
|
||||
if ( int failures = test_readable_hello(s16) )
|
||||
{
|
||||
tests_failed += failures;
|
||||
cout << "FAILED to append to a work string." << endl;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
nsLiteralCString str1("Hello");
|
||||
nsStdCString str2("Hello");
|
||||
|
Loading…
Reference in New Issue
Block a user