1 karl 1.87 //%2005////////////////////////////////////////////////////////////////////////
|
2 mike 1.38 //
|
3 karl 1.86 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
4 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
5 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
|
6 karl 1.78 // IBM Corp.; EMC Corporation, The Open Group.
|
7 karl 1.86 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
|
9 karl 1.87 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
|
11 mike 1.38 //
12 // Permission is hereby granted, free of charge, to any person obtaining a copy
|
13 kumpf 1.50 // of this software and associated documentation files (the "Software"), to
14 // deal in the Software without restriction, including without limitation the
15 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
16 mike 1.38 // sell copies of the Software, and to permit persons to whom the Software is
17 // furnished to do so, subject to the following conditions:
18 //
|
19 kumpf 1.50 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
|
20 mike 1.38 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
21 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
22 kumpf 1.50 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
23 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
25 mike 1.38 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 //
28 //==============================================================================
29 //
30 //%/////////////////////////////////////////////////////////////////////////////
31
32 #ifndef Pegasus_String_h
33 #define Pegasus_String_h
34
|
35 kumpf 1.71 #ifdef PEGASUS_OS_HPUX
|
36 kumpf 1.72 # ifdef HPUX_IA64_NATIVE_COMPILER
37 # include <iostream>
38 # else
39 # include <iostream.h>
40 # endif
|
41 kumpf 1.71 #else
42 # include <iostream>
43 #endif
|
44 mike 1.38 #include <Pegasus/Common/Config.h>
45 #include <Pegasus/Common/Char16.h>
|
46 kumpf 1.54 #include <Pegasus/Common/Linkage.h>
|
47 mike 1.38
|
48 david 1.81 // Locale constants
49 // These constants need to be defined as follows:
50 // lower case language; underscore; Uppercase Country
51 const char ENGLISH_US[] = "en_US";
52
|
53 david 1.76
|
54 mike 1.38 PEGASUS_NAMESPACE_BEGIN
55
|
56 kumpf 1.59 class String;
|
57 kumpf 1.51 class StringRep;
58
|
59 kumpf 1.59 /** The CString class provides access to an 8-bit String representation.
60 */
|
61 kumpf 1.60 class PEGASUS_COMMON_LINKAGE CString
|
62 kumpf 1.59 {
63 public:
64
|
65 karl 1.79 /** Constructs a CString object with null values (default constructor).
66 */
|
67 kumpf 1.59 CString();
68
|
69 karl 1.79 /** REVIEWERS: Describe method here.
70 @param cstr Specifies the name of the CString instance.
71 */
|
72 kumpf 1.59 CString(const CString& cstr);
73
|
74 karl 1.79 /** CString destructor.
75 */
|
76 kumpf 1.59 ~CString();
77
|
78 karl 1.79 /** Assigns the values of one CString instance to another.
79 @param cstr Specifies the name of the CString instance whose values
80 are assigned to CString.
81 */
|
82 kumpf 1.62 CString& operator=(const CString& cstr);
83
|
84 karl 1.79 /** REVIEWERS: Describe constructor here.
85 */
|
86 kumpf 1.59 operator const char*() const;
87
88 private:
89
90 CString(char* cstr);
91
92 friend class String;
93
|
94 kumpf 1.64 void* _rep;
|
95 kumpf 1.59 };
96
|
97 mike 1.38 /**
98 The Pegasus String C++ Class implements the CIM string type.
|
99 karl 1.79 REVIEWERS: We need more definition here.
|
100 mike 1.38 */
101 class PEGASUS_COMMON_LINKAGE String
102 {
103 public:
104
|
105 kumpf 1.74 /** This member is used to represent an empty string. Using this
|
106 karl 1.79 member avoids construction of an empty string (for example, String()).
|
107 kumpf 1.48 */
108 static const String EMPTY;
109
|
110 mike 1.38 /** Default constructor without parameters. This constructor creates a
|
111 karl 1.79 null string. For example,
|
112 mike 1.38 <pre>
113 String test;
114 </pre>
115 */
116 String();
117
|
118 karl 1.79 /** Copy constructor.
119 @param str Specifies the name of the String instance.
120 */
|
121 kumpf 1.48 String(const String& str);
|
122 mike 1.38
|
123 karl 1.79 /** Initialize with first n characters from str.
124 @param str Specifies the name of the String instance.
125 @param n Specifies the Uint32 size to use for the length of the string object.
126 */
|
127 kumpf 1.48 String(const String& str, Uint32 n);
|
128 mike 1.38
|
129 karl 1.79 /** Initialize with str.
130 @param str Specifies the name of the String instance.
131 */
|
132 kumpf 1.48 String(const Char16* str);
|
133 mike 1.38
|
134 karl 1.79 /** Initialize with first n characters of str.
135 @param str Specifies the name of the String instance.
136 @param n Specifies the Uint32 size.
137 */
|
138 kumpf 1.48 String(const Char16* str, Uint32 n);
|
139 mike 1.38
|
140 karl 1.79 /** Initialize from a plain C-String:
141 @param str Specifies the name of the String instance.
|
142 david 1.81 API supports UTF8
|
143 karl 1.79 */
|
144 kumpf 1.48 String(const char* str);
|
145 chuck 1.77
|
146 karl 1.79 /** Initialize from the first n characters of a plain C-String:
147 @param str Specifies the name of the String instance.
148 @param u Specifies the Uint32 size.
|
149 david 1.81 API supports UTF8
|
150 karl 1.79 */
|
151 kumpf 1.48 String(const char* str, Uint32 n);
|
152 mike 1.38
|
153 karl 1.79 /** String destructor.
154 */
|
155 mike 1.38 ~String();
156
|
157 karl 1.79 /** Assign this string with str. For example,
|
158 mike 1.38 <pre>
159 String t1 = "abc";
160 String t2 = t1;
161 </pre>
|
162 karl 1.79 String t2 is assigned the value of t1.
163 @param str Specifies the name of the String to assign to another
164 String instance.
|
165 mike 1.38 */
|
166 kumpf 1.48 String& operator=(const String& str);
|
167 mike 1.38
|
168 kumpf 1.74 /** Assign this string with String str.
169 @param str String to assign.
170 @return Returns the String.
|
171 david 1.81 API supports UTF8
|
172 mike 1.38 */
|
173 kumpf 1.48 String& assign(const String& str);
|
174 mike 1.38
|
175 karl 1.79 /** Assign this string with str.
176 */
|
177 kumpf 1.48 String& assign(const Char16* str);
|
178 mike 1.38
|
179 karl 1.79 /** Assign this string with first n characters of str.
180 @param n REVIEWERS: Insert text here.
181 @param str REVIEWERS: Insert text here.
182 */
|
183 kumpf 1.48 String& assign(const Char16* str, Uint32 n);
|
184 mike 1.38
|
185 karl 1.79 /** Assign this string with the plain C-String str.
186 @param str REVIEWERS: Insert text here.
|
187 david 1.81 API supports UTF8
|
188 karl 1.79 */
|
189 kumpf 1.48 String& assign(const char* str);
|
190 mike 1.38
|
191 karl 1.79 /** Assign this string with first n characters of the plain C-String str.
192 @param str REVIEWERS: Insert text here.
193 @param n REVIEWERS: Insert text here.
|
194 david 1.81 API supports UTF8
|
195 karl 1.79 */
|
196 kumpf 1.48 String& assign(const char* str, Uint32 n);
|
197 mike 1.38
|
198 kumpf 1.74 /** Clear this string. After calling clear(), size() will return 0.
|
199 mike 1.38 <pre>
200 String test = "abc";
|
201 kumpf 1.74 test.clear();
|
202 mike 1.38 </pre>
203 */
204 void clear();
205
206
|
207 kumpf 1.74 /** Reserves memory for capacity characters. Notice
|
208 kumpf 1.53 that this does not change the size of the string (size() returns
209 what it did before). If the capacity of the string is already
210 greater or equal to the capacity argument, this method has no
211 effect. The capacity of a String object has no bearing on its
212 external behavior. The capacity of a String is set only for
213 performance reasons.
|
214 karl 1.79 @param capacity Defines the capacity in characters to reserve.
|
215 mike 1.38 */
|
216 kumpf 1.51 void reserveCapacity(Uint32 capacity);
|
217 mike 1.38
218 /** Returns the length of the String object.
|
219 karl 1.79 @return Length of the String in characters. For example,
|
220 mike 1.38 <pre>
221 String s = "abcd";
222 assert(s.size() == 4);
223 </pre>
|
224 karl 1.79 returns a value of 4 for the length.
|
225 mike 1.38 */
|
226 kumpf 1.48 Uint32 size() const;
|
227 mike 1.38
|
228 kumpf 1.74 /** Returns a pointer to the first character in the
|
229 kumpf 1.61 null-terminated Char16 buffer of the String object.
|
230 karl 1.79 @return Pointer to the first character of the String object. For example,
|
231 mike 1.38 <pre>
|
232 kumpf 1.74 String test = "abc";
233 const Char16* q = test.getChar16Data();
|
234 mike 1.38 </pre>
|
235 karl 1.79 points to the first character in the String instance named test.
|
236 mike 1.38 */
|
237 kumpf 1.61 const Char16* getChar16Data() const;
|
238 mike 1.38
|
239 karl 1.79 /** Create an 8-bit representation of this String object. For example,
|
240 kumpf 1.59
|
241 david 1.81 @return CString object that provides access to the UTF8 String
|
242 kumpf 1.74 representation.
|
243 kumpf 1.59
|
244 mike 1.38 <pre>
245 String test = "abc";
|
246 kumpf 1.59 printf("test = %s\n", (const char*)test.getCString());
|
247 chuck 1.75
248 NOTE: Do not do the following:
249 const char * p = (const char *)test.getCString();
250 The pointer p will be invalid. This is because
251 the CString object is destructed, which deletes
252 the heap space for p.
|
253 mike 1.38 </pre>
254 */
|
255 kumpf 1.59 CString getCString() const;
|
256 mike 1.38
|
257 kumpf 1.58 /** Returns the specified character of the String object.
|
258 kumpf 1.74 @param index Index of the character to access.
|
259 karl 1.79 @return Specified character of the String object.
260 @exception IndexOutOfBoundsException If the index
|
261 kumpf 1.58 is outside the bounds of the String.
|
262 mike 1.38 <pre>
|
263 kumpf 1.74 String test = "abc;
264 Char16 c = test[1];
|
265 mike 1.38 </pre>
266 */
|
267 kumpf 1.58 Char16& operator[](Uint32 index);
|
268 mike 1.38
|
269 kumpf 1.58 /** Returns the specified character of the String object (const version).
|
270 kumpf 1.74 @param index Index of the character to access.
|
271 karl 1.79 @return Specified character of the String object.
272 @exception IndexOutOfBoundsException If the index
|
273 kumpf 1.58 is outside the bounds of the String.
|
274 mike 1.38 */
|
275 kumpf 1.58 const Char16 operator[](Uint32 index) const;
|
276 mike 1.38
|
277 kumpf 1.57 /** Append the given character to this String.
278 @param c Character to append.
|
279 kumpf 1.74 @return This String.
|
280 kumpf 1.57 <pre>
|
281 kumpf 1.74 String test = "abc";
282 test.append(Char16('d'));
283 assert(test == "abcd");
|
284 mike 1.38 </pre>
285 */
286 String& append(const Char16& c);
287
|
288 karl 1.79 /** Append n characters from str to this String.
289 @param str REVIEWERS: Insert text here.
290 @param n REVIEWERS: Insert text here.
291 */
|
292 mike 1.38 String& append(const Char16* str, Uint32 n);
293
|
294 kumpf 1.57 /** Append the given String to this String.
295 @param str String to append.
|
296 kumpf 1.74 @return This String.
|
297 mike 1.38 <pre>
298 String test = "abc";
|
299 kumpf 1.57 test.append("def");
|
300 mike 1.38 assert(test == "abcdef");
301 </pre>
302 */
|
303 kumpf 1.57 String& append(const String& str);
|
304 mike 1.38
305 /** Remove size characters from the string starting at the given
|
306 kumpf 1.58 index. If size is PEG_NOT_FOUND, then all characters after index are
|
307 mike 1.38 removed.
|
308 kumpf 1.74 @param index Position in string to start remove.
|
309 mike 1.38 @param size Number of characters to remove. Default is PEG_NOT_FOUND
|
310 kumpf 1.74 which causes all characters after index to be removed.
|
311 mike 1.38 <pre>
312 String s;
313 s = "abc";
314 s.remove(0, 1);
315 assert(String::equal(s, "bc"));
316 assert(s.size() == 2);
317 s.remove(0);
318 assert(String::equal(s, ""));
319 assert(s.size() == 0);
320 </pre>
|
321 karl 1.79 @exception IndexOutOfBoundsException If size is greater than
|
322 kumpf 1.58 length of String plus starting index for remove.
|
323 mike 1.38 */
|
324 kumpf 1.58 void remove(Uint32 index, Uint32 size = PEG_NOT_FOUND);
|
325 mike 1.38
326 /** Return a new String which is initialzed with <TT>length</TT>
|
327 kumpf 1.58 characters from this string starting at <TT>index</TT>.
|
328 karl 1.79 @param index Specifies the index in string to start getting the
|
329 mike 1.38 substring.
|
330 karl 1.79 @param length Specifies the number of characters to get. If length
|
331 kumpf 1.58 is PEG_NOT_FOUND, then all characters after index are added to the new
|
332 mike 1.38 string.
|
333 karl 1.79 @return String Specifies the Sting with the defined substring.
|
334 mike 1.38 */
|
335 kumpf 1.58 String subString(Uint32 index, Uint32 length = PEG_NOT_FOUND) const;
|
336 mike 1.38
|
337 karl 1.79 /** Find the index of the first occurrence of the character c.
|
338 mike 1.38 If the character is not found, PEG_NOT_FOUND is returned.
|
339 kumpf 1.74 @param c Char to be found in the String.
|
340 mike 1.38 @return Position of the character in the string or PEG_NOT_FOUND if not
341 found.
342 */
343 Uint32 find(Char16 c) const;
344
|
345 karl 1.79 /** Find the index of the first occurence of the character c.
346 If the character is not found, PEG_NOT_FOUND is returned.
347 This begins searching from the given index.
348 @param c Char to be found in the String.
349 @return Position of the character in the string or PEG_NOT_FOUND if not
350 found.
|
351 kumpf 1.74 */
|
352 kumpf 1.58 Uint32 find(Uint32 index, Char16 c) const;
|
353 mike 1.38
|
354 kumpf 1.58 /** Find the index of the first occurence of the string object.
|
355 kumpf 1.74 This function finds one string inside another.
|
356 mike 1.38 If the matching substring is not found, PEG_NOT_FOUND is returned.
|
357 kumpf 1.74 @param s String object to be found in the String.
|
358 mike 1.38 @return Position of the substring in the String or PEG_NOT_FOUND if not
359 found.
360 */
361 Uint32 find(const String& s) const;
362
|
363 kumpf 1.74 /** Same as find() but start looking in reverse (last character first).
|
364 mike 1.38 @param c Char16 character to find in String.
365 @return Position of the character in the string or PEG_NOT_FOUND if not
366 found.
367 */
368 Uint32 reverseFind(Char16 c) const;
369
|
370 david 1.81 /** Converts all characters in this string to lowercase characters,
371 ICU : Operation will use default locale or the locale provided
372 NON ICU: Operattion will use c runtime function
373 */
374 void toLower();
375 #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
|
376 denise.eckstein 1.85 /** <I><B>Experimental Interface</B></I><BR>
377 @param strLocale const char * is the locale to use for the operation.
|
378 david 1.81 If NULL will use the default locale for the process.
379 Refer to Locale constants for formating.
380 */
381 void toLower(const char * strLocale);
382 #endif
383
|
384 denise.eckstein 1.85 #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
385 /** <I><B>Experimental Interface</B></I><BR>
386 Converts all characters in this string to uppercase characters.
|
387 david 1.81 @param strLocale const char * is the locale to use for the operation.
388 If NULL will use the default locale for the process.
389 ICU : Operation will use default locale or the locale provided
390 NON ICU: Operattion will use c runtime function
391 Refer to Locale constants for formating.
|
392 mike 1.38 */
|
393 david 1.81 void toUpper(const char * strLocale = NULL);
394 #endif
|
395 kumpf 1.48
|
396 karl 1.79 /** Compare the first n characters of the two strings.
|
397 mike 1.38 @param s1 First null-terminated string for the comparison.
398 @param s2 Second null-terminated string for the comparison.
399 @param n Number of characters to compare.
|
400 karl 1.79 @return Return -1 If s1 is lexographically less than s2; if they are
401 equivalent return 0; otherwise return 1.
|
402 mike 1.38 */
|
403 kumpf 1.51 static int compare(const String& s1, const String& s2, Uint32 n);
|
404 mike 1.38
405 /** Compare two null-terminated strings.
406 @param s1 First null-terminated string for the comparison.
407 @param s2 Second null-terminated string for the comparison.
|
408 kumpf 1.74 @return Return -1 if s1 is less than s2; if equal return 0;
409 otherwise return 1.
|
410 mike 1.38
411 NOTE: Use the comparison operators <,<= > >= to compare
412 String objects.
413 */
|
414 kumpf 1.51 static int compare(const String& s1, const String& s2);
|
415 mike 1.38
|
416 karl 1.79 /** Compare two null-terminated strings but ignore case.
417 @param s1 First null-terminated string for the comparison.
418 @param s2 Second null-terminated string for the comparison.
419 @return Return -1 if s1 is less than s2; if equal return 0;
420 otherwise return 1.
421
422 NOTE: Use the comparison operators <,<= > >= to compare
423 String objects.
|
424 david 1.81 ICU : Operation will use default locale or the locale provided
425 NON ICU: Operattion will use c runtime function
|
426 kumpf 1.48 */
|
427 kumpf 1.49 static int compareNoCase(const String& s1, const String& s2);
|
428 david 1.81 #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
|
429 denise.eckstein 1.85 /** <I><B>Experimental Interface</B></I><BR>
430 @param strLocale const char * is the locale to use for the operation.
|
431 david 1.81 If NULL will use the default locale for the process.
432 Refer to Locale constants for formating.
433 */
434 static int compareNoCase(const String& s1, const String& s2, const char * strLocale);
435 #endif
|
436 kumpf 1.48
|
437 mike 1.38 /** Compare two String objects for equality.
438 @param s1 First <TT>String</TT> for comparison.
439 @param s2 Second <TT>String</TT> for comparison.
440
|
441 karl 1.79 @return true If the two strings are equal; otherwise, false. For example,
|
442 mike 1.38 <pre>
443 String s1 = "Hello World";
444 String s2 = s1;
445 String s3(s2);
446 assert(String::equal(s1, s3));
447 </pre>
448 */
|
449 kumpf 1.48 static Boolean equal(const String& str1, const String& str2);
|
450 mike 1.38
|
451 kumpf 1.74 /** Compares two strings and returns true if they
452 are equal indepedent of case of the characters.
453 @param str1 First String parameter.
454 @param str2 Second String parameter.
|
455 karl 1.79 @return true If strings are equal independent of case, flase
|
456 kumpf 1.74 otherwise.
|
457 david 1.81
458 ICU : Operation will use default locale or the locale provided
459 NON ICU: Operation will use c runtime function
|
460 karl 1.47 */
|
461 kumpf 1.48 static Boolean equalNoCase(const String& str1, const String& str2);
|
462 david 1.81 #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
|
463 denise.eckstein 1.85 /** <I><B>Experimental Interface</B></I><BR>
464 @param strLocale const char * is the locale to use for the operation.
|
465 david 1.81 If NULL will use the default locale for the process.
466 Refer to Locale constants for formating.
467 */
468 static Boolean equalNoCase(const String& str1, const String& str2, const char * strLocale);
469 #endif
|
470 david 1.76
|
471 mike 1.38 private:
472
|
473 kumpf 1.51 StringRep* _rep;
|
474 mike 1.38 };
|
475 mike 1.40
|
476 karl 1.79 /** String operator == tests for equality between two strings of any of the
|
477 mike 1.38 types String or char*.
|
478 karl 1.79 @return true If the strings are equal; otherwise, false.
479 @param str1 REVIEWERS: Insert description here.
480 @param str2 REVIEWERS: Insert description here.
|
481 mike 1.38 */
|
482 kumpf 1.48 PEGASUS_COMMON_LINKAGE Boolean operator==(
483 const String& str1,
484 const String& str2);
|
485 mike 1.38
|
486 kumpf 1.74 /** String operator ==. Test for equality between two strings.
|
487 karl 1.79 @param str1 REVIEWERS: Insert description here.
488 @param str2 REVIEWERS: Insert description here.
|
489 mike 1.38 */
|
490 kumpf 1.48 PEGASUS_COMMON_LINKAGE Boolean operator==(const String& str1, const char* str2);
|
491 mike 1.38
|
492 kumpf 1.74 /** String operator ==. Test for equality between two strings.
|
493 karl 1.79 @param str1 REVIEWERS: Insert description here.
494 @param str2 REVIEWERS: Insert description here.
|
495 mike 1.38 */
|
496 kumpf 1.48 PEGASUS_COMMON_LINKAGE Boolean operator==(const char* str1, const String& str2);
|
497 mike 1.38
|
498 kumpf 1.74 /** String operator ==. Test for equality between two strings.
|
499 karl 1.79 @param str1 REVIEWERS: Insert description here.
500 @param str2 REVIEWERS: Insert description here.
|
501 mike 1.38 */
|
502 kumpf 1.48 PEGASUS_COMMON_LINKAGE Boolean operator!=(
503 const String& str1,
504 const String& str2);
|
505 mike 1.38
|
506 karl 1.79 /** REVIEWERS: Insert description here.
507 @param str REVIEWERS: Insert description here.
508 @param os REVIEWERS: Insert description here.
509 */
|
510 mike 1.38 PEGASUS_COMMON_LINKAGE PEGASUS_STD(ostream)& operator<<(
511 PEGASUS_STD(ostream)& os,
|
512 kumpf 1.48 const String& str);
|
513 mike 1.38
|
514 karl 1.79 /** This overload operator (+) concatenates String objects. For example,
|
515 mike 1.38 <pre>
516 String t1 = "abc";
517 String t2;
518 t2 = t1 + "def"
519 assert(t2 == "abcdef");
520 </pre>
521 */
|
522 kumpf 1.48 PEGASUS_COMMON_LINKAGE String operator+(const String& str1, const String& str2);
|
523 mike 1.38
|
524 karl 1.79 /** The overload operator (<) compares String obects.
|
525 mike 1.38 <pre>
526 String t1 = "def";
527 String t2 = "a";
528 assert (t2 < t1);
529 </pre>
|
530 karl 1.79 @param str1 REVIEWERS: Insert description here.
531 @param str2 REVIEWERS: Insert description here.
|
532 mike 1.38 */
|
533 kumpf 1.48 PEGASUS_COMMON_LINKAGE Boolean operator<(
534 const String& str1,
535 const String& str2);
|
536 mike 1.38
|
537 karl 1.79 /** The overload operator (<=) compares String objects.
538 @param str1 REVIEWERS: Insert description here.
539 @param str2 REVIEWERS: Insert description here.
|
540 mike 1.38 */
|
541 kumpf 1.48 PEGASUS_COMMON_LINKAGE Boolean operator<=(
542 const String& str1,
543 const String& str2);
|
544 mike 1.38
|
545 karl 1.79 /** The overload operator (>) compares String objects.
546 @param str1 REVIEWERS: Insert description here.
547 @param str2 REVIEWERS: Insert description here.
|
548 mike 1.38 */
|
549 kumpf 1.48 PEGASUS_COMMON_LINKAGE Boolean operator>(
550 const String& str1,
551 const String& str2);
|
552 mike 1.38
|
553 karl 1.79 /** The overload operator (>=) compares String objects.
554 @param str1 REVIEWERS: Insert description here.
555 @param str2 REVIEWERS: Insert description here.
|
556 mike 1.38 */
|
557 kumpf 1.48 PEGASUS_COMMON_LINKAGE Boolean operator>=(
558 const String& str1,
559 const String& str2);
|
560 mike 1.38
561 PEGASUS_NAMESPACE_END
562
563 #endif /* Pegasus_String_h */
|