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

Diff for /pegasus/src/Pegasus/Common/String.h between version 1.78 and 1.79

version 1.78, 2003/10/22 14:26:04 version 1.79, 2003/11/12 15:27:53
Line 60 
Line 60 
 { {
 public: public:
  
     ///      /** Constructs a CString object with null values (default constructor).
       */
     CString();     CString();
  
     ///      /** REVIEWERS: Describe method here.
       @param cstr Specifies the name of the CString instance.
       */
     CString(const CString& cstr);     CString(const CString& cstr);
  
     ///      /** CString destructor.
       */
     ~CString();     ~CString();
  
     ///      /** Assigns the values of one CString instance to another.
       @param cstr Specifies the name of the CString instance whose values
       are assigned to CString.
       */
     CString& operator=(const CString& cstr);     CString& operator=(const CString& cstr);
  
       /** REVIEWERS: Describe constructor here.
       */
     operator const char*() const;     operator const char*() const;
  
 private: private:
Line 85 
Line 94 
  
 /** /**
     The Pegasus String C++ Class implements the CIM string type.     The Pegasus String C++ Class implements the CIM string type.
       REVIEWERS: We need more definition here.
 */ */
 class PEGASUS_COMMON_LINKAGE String class PEGASUS_COMMON_LINKAGE String
 { {
 public: public:
  
     /** This member is used to represent an empty string. Using this     /** This member is used to represent an empty string. Using this
         member avoids construction of an empty string (e.g., String()).          member avoids construction of an empty string (for example, String()).
     */     */
     static const String EMPTY;     static const String EMPTY;
  
     /** Default constructor without parameters. This constructor creates a     /** Default constructor without parameters. This constructor creates a
         null string.          null string. For example,
         <pre>         <pre>
             String test;             String test;
         </pre>         </pre>
     */     */
     String();     String();
  
     /// Copy constructor.      /** Copy constructor.
       @param str Specifies the name of the String instance.
       */
     String(const String& str);     String(const String& str);
  
     /// Initialize with first n characters from str.      /** Initialize with first n characters from str.
       @param str Specifies the name of the String instance.
       @param n Specifies the Uint32 size to use for the length of the string object.
       */
     String(const String& str, Uint32 n);     String(const String& str, Uint32 n);
  
     /// Initialize with str.      /** Initialize with str.
       @param str Specifies the name of the String instance.
       */
     String(const Char16* str);     String(const Char16* str);
  
     /// Initialize with first n characters of str.      /** Initialize with first n characters of str.
       @param str Specifies the name of the String instance.
       @param n Specifies the Uint32 size.
       */
     String(const Char16* str, Uint32 n);     String(const Char16* str, Uint32 n);
  
     /// Initialize from a plain old C-String:      /** Initialize from a plain C-String:
       @param str Specifies the name of the String instance.
       */
     String(const char* str);     String(const char* str);
  
 #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
     /// Initialize from a plain old C-String, allowing UTF-8:      /** Initialize from a plain C-String that allows UTF-8:
       @param str Specifies the name of the String instance.
       @param utfFlag Specifies the name of the character constructor.
       */
     String(const char* str, const char* utfFlag);     String(const char* str, const char* utfFlag);
 #endif #endif
  
     /// Initialize from the first n characters of a plain old C-String:      /** Initialize from the first n characters of a plain C-String:
       @param str Specifies the name of the String instance.
       @param u Specifies the Uint32 size.
       */
     String(const char* str, Uint32 n);     String(const char* str, Uint32 n);
  
     /// Destructor.      /** String destructor.
       */
     ~String();     ~String();
  
     /** Assign this string with str.      /** Assign this string with str. For example,
         <pre>         <pre>
             String t1 = "abc";             String t1 = "abc";
             String t2 = t1;             String t2 = t1;
         </pre>         </pre>
           String t2 is assigned the value of t1.
           @param str Specifies the name of the String to assign to another
           String instance.
     */     */
     String& operator=(const String& str);     String& operator=(const String& str);
  
Line 143 
Line 175 
     */     */
     String& assign(const String& str);     String& assign(const String& str);
  
     /// Assign this string with str.      /** Assign this string with str.
       */
     String& assign(const Char16* str);     String& assign(const Char16* str);
  
     /// Assign this string with first n characters of str.      /** Assign this string with first n characters of str.
       @param n REVIEWERS: Insert text here.
       @param str REVIEWERS: Insert text here.
       */
     String& assign(const Char16* str, Uint32 n);     String& assign(const Char16* str, Uint32 n);
  
     /// Assign this string with the plain old C-String str.      /** Assign this string with the plain C-String str.
       @param str REVIEWERS: Insert text here.
       */
     String& assign(const char* str);     String& assign(const char* str);
  
     /// Assign this string with first n characters of the plain old C-String str.      /** Assign this string with first n characters of the plain C-String str.
       @param str REVIEWERS: Insert text here.
       @param n REVIEWERS: Insert text here.
       */
     String& assign(const char* str, Uint32 n);     String& assign(const char* str, Uint32 n);
  
     /** Clear this string. After calling clear(), size() will return 0.     /** Clear this string. After calling clear(), size() will return 0.
Line 171 
Line 212 
         effect.  The capacity of a String object has no bearing on its         effect.  The capacity of a String object has no bearing on its
         external behavior.  The capacity of a String is set only for         external behavior.  The capacity of a String is set only for
         performance reasons.         performance reasons.
         @param capacity defines the capacity in characters to reserve.          @param capacity Defines the capacity in characters to reserve.
     */     */
     void reserveCapacity(Uint32 capacity);     void reserveCapacity(Uint32 capacity);
  
     /** Returns the length of the String object.     /** Returns the length of the String object.
         @return Length of the string in characters.          @return Length of the String in characters. For example,
         <pre>         <pre>
             String s = "abcd";             String s = "abcd";
             assert(s.size() == 4);             assert(s.size() == 4);
         </pre>         </pre>
           returns a value of 4 for the length.
     */     */
     Uint32 size() const;     Uint32 size() const;
  
     /** Returns a pointer to the first character in the     /** Returns a pointer to the first character in the
         null-terminated Char16 buffer of the String object.         null-terminated Char16 buffer of the String object.
         @return Pointer to the first character of the String object.          @return Pointer to the first character of the String object. For example,
         <pre>         <pre>
             String test = "abc";             String test = "abc";
             const Char16* q = test.getChar16Data();             const Char16* q = test.getChar16Data();
         </pre>         </pre>
           points to the first character in the String instance named test.
     */     */
     const Char16* getChar16Data() const;     const Char16* getChar16Data() const;
  
     /** Create an 8-bit representation of this String object.      /** Create an 8-bit representation of this String object. For example,
  
         @return CString object that provides access to the 8-bit String         @return CString object that provides access to the 8-bit String
         representation.         representation.
Line 214 
Line 257 
  
     /** Returns the specified character of the String object.     /** Returns the specified character of the String object.
         @param index Index of the character to access.         @param index Index of the character to access.
         @return specified character of the String object.          @return Specified character of the String object.
         @exception IndexOutOfBoundsException if the index          @exception IndexOutOfBoundsException If the index
         is outside the bounds of the String.         is outside the bounds of the String.
         <pre>         <pre>
             String test = "abc;             String test = "abc;
Line 226 
Line 269 
  
     /** Returns the specified character of the String object (const version).     /** Returns the specified character of the String object (const version).
         @param index Index of the character to access.         @param index Index of the character to access.
         @return specified character of the String object.          @return Specified character of the String object.
         @exception IndexOutOfBoundsException if the index          @exception IndexOutOfBoundsException If the index
         is outside the bounds of the String.         is outside the bounds of the String.
     */     */
     const Char16 operator[](Uint32 index) const;     const Char16 operator[](Uint32 index) const;
Line 243 
Line 286 
     */     */
     String& append(const Char16& c);     String& append(const Char16& c);
  
     /// Append n characters from str to this String.      /** Append n characters from str to this String.
       @param str REVIEWERS: Insert text here.
       @param n REVIEWERS: Insert text here.
       */
     String& append(const Char16* str, Uint32 n);     String& append(const Char16* str, Uint32 n);
  
     /** Append the given String to this String.     /** Append the given String to this String.
Line 273 
Line 319 
             assert(String::equal(s, ""));             assert(String::equal(s, ""));
             assert(s.size() == 0);             assert(s.size() == 0);
         </pre>         </pre>
         @exception IndexOutOfBoundsException if size is greater than          @exception IndexOutOfBoundsException If size is greater than
         length of String plus starting index for remove.         length of String plus starting index for remove.
     */     */
     void remove(Uint32 index, Uint32 size = PEG_NOT_FOUND);     void remove(Uint32 index, Uint32 size = PEG_NOT_FOUND);
  
     /** Return a new String which is initialzed with <TT>length</TT>     /** Return a new String which is initialzed with <TT>length</TT>
         characters from this string starting at <TT>index</TT>.         characters from this string starting at <TT>index</TT>.
         @param <TT>index</TT> is the index in string to start getting the          @param index Specifies the index in string to start getting the
         substring.         substring.
         @param <TT>length</TT> is the number of characters to get. If length          @param length Specifies the number of characters to get. If length
         is PEG_NOT_FOUND, then all characters after index are added to the new         is PEG_NOT_FOUND, then all characters after index are added to the new
         string.         string.
         @return String with the defined substring.          @return String Specifies the Sting with the defined substring.
     */     */
     String subString(Uint32 index, Uint32 length = PEG_NOT_FOUND) const;     String subString(Uint32 index, Uint32 length = PEG_NOT_FOUND) const;
  
     /** Find the index of the first occurence of the character c.      /** Find the index of the first occurrence of the character c.
         If the character is not found, PEG_NOT_FOUND is returned.         If the character is not found, PEG_NOT_FOUND is returned.
         @param c Char to be found in the String.         @param c Char to be found in the String.
         @return Position of the character in the string or PEG_NOT_FOUND if not         @return Position of the character in the string or PEG_NOT_FOUND if not
Line 297 
Line 343 
     */     */
     Uint32 find(Char16 c) const;     Uint32 find(Char16 c) const;
  
     /** Same as above but starts searching from the given index.      /** Find the index of the first occurence of the character c.
           If the character is not found, PEG_NOT_FOUND is returned.
           This begins searching from the given index.
           @param c Char to be found in the String.
           @return Position of the character in the string or PEG_NOT_FOUND if not
           found.
     */     */
     Uint32 find(Uint32 index, Char16 c) const;     Uint32 find(Uint32 index, Char16 c) const;
  
Line 317 
Line 368 
     */     */
     Uint32 reverseFind(Char16 c) const;     Uint32 reverseFind(Char16 c) const;
  
     /** Converts all characters in this string to lower case.      /** Converts all characters in this string to lowercase characters.
     */     */
     void toLower();     void toLower();
  
     /** Compare the first n characters of the two strings..      /** Compare the first n characters of the two strings.
         @param s1 First null-terminated string for the comparison.         @param s1 First null-terminated string for the comparison.
         @param s2 Second null-terminated string for the comparison.         @param s2 Second null-terminated string for the comparison.
         @param n Number of characters to compare.         @param n Number of characters to compare.
         @return Return -1 if s1 is lexographically less than s2; if they are          @return Return -1 If s1 is lexographically less than s2; if they are
         equavalent return 0; otherwise return 1.          equivalent return 0; otherwise return 1.
     */     */
     static int compare(const String& s1, const String& s2, Uint32 n);     static int compare(const String& s1, const String& s2, Uint32 n);
  
Line 341 
Line 392 
     */     */
     static int compare(const String& s1, const String& s2);     static int compare(const String& s1, const String& s2);
  
     /** Just like the compare method defined above except that      /** Compare two null-terminated strings but ignore case.
         the compareNoCase ignores case differences.          @param s1 First null-terminated string for the comparison.
           @param s2 Second null-terminated string for the comparison.
           @return Return -1 if s1 is less than s2; if equal return 0;
           otherwise return 1.
   
           NOTE: Use the comparison operators <,<= > >= to compare
           String objects.
     */     */
     static int compareNoCase(const String& s1, const String& s2);     static int compareNoCase(const String& s1, const String& s2);
  
Line 350 
Line 407 
         @param s1 First <TT>String</TT> for comparison.         @param s1 First <TT>String</TT> for comparison.
         @param s2 Second <TT>String</TT> for comparison.         @param s2 Second <TT>String</TT> for comparison.
  
         @return true if the two strings are equal, false otherwise.          @return true If the two strings are equal; otherwise, false. For example,
         <pre>         <pre>
             String s1 = "Hello World";             String s1 = "Hello World";
             String s2 = s1;             String s2 = s1;
Line 364 
Line 421 
         are equal indepedent of case of the characters.         are equal indepedent of case of the characters.
         @param str1 First String parameter.         @param str1 First String parameter.
         @param str2 Second String parameter.         @param str2 Second String parameter.
         @return true if strings are equal independent of case, flase          @return true If strings are equal independent of case, flase
         otherwise.         otherwise.
     */     */
     static Boolean equalNoCase(const String& str1, const String& str2);     static Boolean equalNoCase(const String& str1, const String& str2);
Line 394 
Line 451 
     StringRep* _rep;     StringRep* _rep;
 }; };
  
 /** String operator ==. Test for equality between two strings of any of the  /** String operator == tests for equality between two strings of any of the
     types String or char*.     types String or char*.
     @return true if the strings are equal, false otherwise.      @return true If the strings are equal; otherwise, false.
       @param str1 REVIEWERS: Insert description here.
       @param str2 REVIEWERS: Insert description here.
 */ */
 PEGASUS_COMMON_LINKAGE Boolean operator==( PEGASUS_COMMON_LINKAGE Boolean operator==(
     const String& str1,     const String& str1,
     const String& str2);     const String& str2);
  
 /** String operator ==. Test for equality between two strings. /** String operator ==. Test for equality between two strings.
       @param str1 REVIEWERS: Insert description here.
       @param str2 REVIEWERS: Insert description here.
 */ */
 PEGASUS_COMMON_LINKAGE Boolean operator==(const String& str1, const char* str2); PEGASUS_COMMON_LINKAGE Boolean operator==(const String& str1, const char* str2);
  
 /** String operator ==. Test for equality between two strings. /** String operator ==. Test for equality between two strings.
       @param str1 REVIEWERS: Insert description here.
       @param str2 REVIEWERS: Insert description here.
 */ */
 PEGASUS_COMMON_LINKAGE Boolean operator==(const char* str1, const String& str2); PEGASUS_COMMON_LINKAGE Boolean operator==(const char* str1, const String& str2);
  
 /** String operator ==. Test for equality between two strings. /** String operator ==. Test for equality between two strings.
       @param str1 REVIEWERS: Insert description here.
       @param str2 REVIEWERS: Insert description here.
 */ */
 PEGASUS_COMMON_LINKAGE Boolean operator!=( PEGASUS_COMMON_LINKAGE Boolean operator!=(
     const String& str1,     const String& str1,
     const String& str2);     const String& str2);
  
 ///  /** REVIEWERS: Insert description here.
       @param str REVIEWERS: Insert description here.
       @param os REVIEWERS: Insert description here.
   */
 PEGASUS_COMMON_LINKAGE PEGASUS_STD(ostream)& operator<<( PEGASUS_COMMON_LINKAGE PEGASUS_STD(ostream)& operator<<(
     PEGASUS_STD(ostream)& os,     PEGASUS_STD(ostream)& os,
     const String& str);     const String& str);
  
 /** overload operator +  - Concatenates String objects.  /** This overload operator (+) concatenates String objects. For example,
     <pre>     <pre>
         String t1 = "abc";         String t1 = "abc";
         String t2;         String t2;
Line 431 
Line 499 
 */ */
 PEGASUS_COMMON_LINKAGE String operator+(const String& str1, const String& str2); PEGASUS_COMMON_LINKAGE String operator+(const String& str1, const String& str2);
  
 /** overload operator < - Compares String obects.  /** The overload operator (<) compares String obects.
     <pre>     <pre>
         String t1 = "def";         String t1 = "def";
         String t2 = "a";         String t2 = "a";
         assert (t2 < t1);         assert (t2 < t1);
     </pre>     </pre>
       @param str1 REVIEWERS: Insert description here.
       @param str2 REVIEWERS: Insert description here.
 */ */
 PEGASUS_COMMON_LINKAGE Boolean operator<( PEGASUS_COMMON_LINKAGE Boolean operator<(
     const String& str1,     const String& str1,
     const String& str2);     const String& str2);
  
 /** overload operator <= compares String objects.  /** The overload operator (<=) compares String objects.
       @param str1 REVIEWERS: Insert description here.
       @param str2 REVIEWERS: Insert description here.
 */ */
 PEGASUS_COMMON_LINKAGE Boolean operator<=( PEGASUS_COMMON_LINKAGE Boolean operator<=(
     const String& str1,     const String& str1,
     const String& str2);     const String& str2);
  
 /** Overload operator > compares String objects  /** The overload operator (>) compares String objects.
       @param str1 REVIEWERS: Insert description here.
       @param str2 REVIEWERS: Insert description here.
 */ */
 PEGASUS_COMMON_LINKAGE Boolean operator>( PEGASUS_COMMON_LINKAGE Boolean operator>(
     const String& str1,     const String& str1,
     const String& str2);     const String& str2);
  
 /** overload operator >= - Compares String objects  /** The overload operator (>=) compares String objects.
       @param str1 REVIEWERS: Insert description here.
       @param str2 REVIEWERS: Insert description here.
 */ */
 PEGASUS_COMMON_LINKAGE Boolean operator>=( PEGASUS_COMMON_LINKAGE Boolean operator>=(
     const String& str1,     const String& str1,
     const String& str2);     const String& str2);
  
 #ifndef PEGASUS_REMOVE_DEPRECATED #ifndef PEGASUS_REMOVE_DEPRECATED
 /** Compare two strings but ignore any case differences.  /** Compares two strings but ignores any case differences.
       @param s1 REVIEWERS: Insert description here.
       @param s2 REVIEWERS: Insert description here.
 */ */
 PEGASUS_COMMON_LINKAGE int CompareNoCase(const char* s1, const char* s2); PEGASUS_COMMON_LINKAGE int CompareNoCase(const char* s1, const char* s2);
 #endif #endif


Legend:
Removed from v.1.78  
changed lines
  Added in v.1.79

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2