(file) Return to String.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/String.cpp between version 1.49 and 1.53

version 1.49, 2002/08/20 17:39:37 version 1.53, 2002/08/27 23:38:44
Line 261 
Line 261 
     return allocateCString(extraBytes, truncatedCharacters);     return allocateCString(extraBytes, truncatedCharacters);
 } }
  
 Char16& String::operator[](Uint32 i)  Char16& String::operator[](Uint32 index)
 { {
     if (i > size())      if (index > size())
         throw IndexOutOfBoundsException();         throw IndexOutOfBoundsException();
  
     return _rep->c16a[i];      return _rep->c16a[index];
 } }
  
 const Char16 String::operator[](Uint32 i) const  const Char16 String::operator[](Uint32 index) const
 { {
     if (i > size())      if (index > size())
         throw IndexOutOfBoundsException();         throw IndexOutOfBoundsException();
  
     return _rep->c16a[i];      return _rep->c16a[index];
 } }
  
 String& String::append(const Char16& c) String& String::append(const Char16& c)
Line 298 
Line 298 
     return append(str.getData(), str.size());     return append(str.getData(), str.size());
 } }
  
 String& String::operator+=(const String& str)  void String::remove(Uint32 index, Uint32 size)
 {  
     return append(str);  
 }  
   
 String& String::operator+=(Char16 c)  
 {  
     return append(c);  
 }  
   
 String& String::operator+=(char c)  
 {  
     return append(Char16(c));  
 }  
   
 void String::remove(Uint32 pos, Uint32 size)  
 { {
     if (size == PEG_NOT_FOUND)     if (size == PEG_NOT_FOUND)
         size = this->size() - pos;          size = this->size() - index;
  
     if (pos + size > this->size())      if (index + size > this->size())
         throw IndexOutOfBoundsException();         throw IndexOutOfBoundsException();
  
     if (size)     if (size)
         _rep->c16a.remove(pos, size);          _rep->c16a.remove(index, size);
 } }
  
 String String::subString(Uint32 pos, Uint32 length) const  String String::subString(Uint32 index, Uint32 length) const
 { {
     if (pos < size())      if (index < size())
     {     {
         if (length == PEG_NOT_FOUND)         if (length == PEG_NOT_FOUND)
             length = size() - pos;              length = size() - index;
  
         return String(getData() + pos, length);          return String(getData() + index, length);
     }     }
     else     else
         return String();         return String();
Line 351 
Line 336 
     return PEG_NOT_FOUND;     return PEG_NOT_FOUND;
 } }
  
 Uint32 String::find(Uint32 pos, Char16 c) const  Uint32 String::find(Uint32 index, Char16 c) const
 { {
     const Char16* data = getData();     const Char16* data = getData();
  
     for (Uint32 i = pos, n = size(); i < n; i++)      for (Uint32 i = index, n = size(); i < n; i++)
     {     {
         if (data[i] == c)         if (data[i] == c)
             return i;             return i;
Line 457 
Line 442 
     return 0;     return 0;
 } }
  
 int String::compareNoCase(const char* s1, const char* s2, Uint32 n)  
 {  
     while (n--)  
     {  
         int r = tolower(*s1++) - tolower(*s2++);  
   
         if (r)  
             return r;  
     }  
   
     return 0;  
 }  
   
 int String::compareNoCase(const char* s1, const char* s2)  
 {  
     while (*s1 && *s2)  
     {  
         int r = tolower(*s1++) - tolower(*s2++);  
   
         if (r)  
             return r;  
     }  
   
     if (*s2)  
         return -1;  
     else if (*s1)  
         return 1;  
   
     return 0;  
 }  
   
 int String::compareNoCase(const String& s1, const String& s2) int String::compareNoCase(const String& s1, const String& s2)
 { {
     const Char16* _s1 = s1.getData();     const Char16* _s1 = s1.getData();
Line 714 
Line 668 
 PEGASUS_STD(ostream)& operator<<(PEGASUS_STD(ostream)& os, const String& str) PEGASUS_STD(ostream)& operator<<(PEGASUS_STD(ostream)& os, const String& str)
 { {
     for (Uint32 i = 0, n = str.size(); i < n; i++)     for (Uint32 i = 0, n = str.size(); i < n; i++)
         os << str[i];      {
           Uint16 code = str[i];
   
           if (code > 0 && code <= PEGASUS_MAX_PRINTABLE_CHAR)
           {
               os << char(code);
           }
           else
           {
               // Print in hex format:
               char buffer[8];
               sprintf(buffer, "\\x%04X", code);
               os << buffer;
           }
       }
  
     return os;     return os;
 } }


Legend:
Removed from v.1.49  
changed lines
  Added in v.1.53

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2