PTLib
Version 2.10.10
|
This class is a variation of a string that ignores case. More...
#include <pstring.h>
Public Member Functions | |
PCaselessString () | |
Create a new, empty, caseless string. More... | |
PCaselessString (const char *cstr) | |
Create a new caseless string, initialising it to the characters in the C string provided. More... | |
PCaselessString (const PString &str) | |
Create a caseless string, with a reference to the characters in the normal PString provided. More... | |
PCaselessString (const std::string &str) | |
Create a caseless string from a std::string. More... | |
PCaselessString & | operator= (const PString &str) |
Assign the string to the current object. More... | |
PCaselessString & | operator= (const std::string &str) |
Assign the string to the current object. More... | |
PCaselessString & | operator= (const char *cstr) |
Assign the C string to the current object. More... | |
PCaselessString & | operator= (char ch) |
Assign the character to the current object. More... | |
virtual PObject * | Clone () const |
Make a complete duplicate of the string. More... | |
![]() | |
virtual Comparison | Compare (const PObject &obj) const |
Get the relative rank of the two strings. More... | |
virtual void | PrintOn (ostream &strm) const |
Output the string to the specified stream. More... | |
virtual void | ReadFrom (istream &strm) |
Input the string from the specified stream. More... | |
virtual PINDEX | HashFunction () const |
Calculate a hash value for use in sets and dictionaries. More... | |
virtual PBoolean | SetSize (PINDEX newSize) |
Set the size of the string. More... | |
virtual PBoolean | IsEmpty () const |
Determine if the string is empty. More... | |
virtual PBoolean | MakeUnique () |
Make this instance to be the one and only reference to the container contents. More... | |
PBoolean | MakeMinimumSize () |
Set the actual memory block array size to the minimum required to hold the current string contents. More... | |
PINLINE PINDEX | GetLength () const |
Determine the length of the null terminated string. More... | |
bool | operator! () const |
Determine if the string is NOT empty. More... | |
bool | operator*= (const PString &str) const |
Compare two strings using case insensitive comparison. More... | |
bool | operator== (const PObject &str) const |
Compare two strings using the PObject::Compare() function. More... | |
bool | operator!= (const PObject &str) const |
Compare two strings using the PObject::Compare() function. More... | |
bool | operator< (const PObject &str) const |
Compare two strings using the PObject::Compare() function. More... | |
bool | operator> (const PObject &str) const |
Compare two strings using the PObject::Compare() function. More... | |
bool | operator<= (const PObject &str) const |
Compare two strings using the PObject::Compare() function. More... | |
bool | operator>= (const PObject &str) const |
Compare two strings using the PObject::Compare() function. More... | |
bool | operator*= (const char *cstr) const |
Compare a PString to a C string using a case insensitive compare function. More... | |
bool | operator== (const char *cstr) const |
Compare a PString to a C string using the Compare() function. More... | |
bool | operator!= (const char *cstr) const |
Compare a PString to a C string using the PObject::Compare() function. More... | |
bool | operator< (const char *cstr) const |
Compare a PString to a C string using the PObject::Compare() function. More... | |
bool | operator> (const char *cstr) const |
Compare a PString to a C string using the PObject::Compare() function. More... | |
bool | operator<= (const char *cstr) const |
Compare a PString to a C string using the PObject::Compare() function. More... | |
bool | operator>= (const char *cstr) const |
Compare a PString to a C string using the PObject::Compare() function. More... | |
Comparison | NumCompare (const PString &str, PINDEX count=P_MAX_INDEX, PINDEX offset=0) const |
Compare a string against a substring of the object. More... | |
Comparison | NumCompare (const char *cstr, PINDEX count=P_MAX_INDEX, PINDEX offset=0) const |
Compare a string against a substring of the object. More... | |
PINDEX | Find (char ch, PINDEX offset=0) const |
Locate the position within the string of the character. More... | |
PINDEX | Find (const PString &str, PINDEX offset=0) const |
Locate the position within the string of the substring. More... | |
PINDEX | Find (const char *cstr, PINDEX offset=0) const |
PINDEX | FindLast (char ch, PINDEX offset=P_MAX_INDEX) const |
Locate the position of the last matching character. More... | |
PINDEX | FindLast (const PString &str, PINDEX offset=P_MAX_INDEX) const |
Locate the position of the last matching substring. More... | |
PINDEX | FindLast (const char *cstr, PINDEX offset=P_MAX_INDEX) const |
Locate the position of the last matching substring. More... | |
PINDEX | FindOneOf (const PString &set, PINDEX offset=0) const |
Locate the position of one of the characters in the set. More... | |
PINDEX | FindOneOf (const char *cset, PINDEX offset=0) const |
Locate the position of one of the characters in the set. More... | |
PINDEX | FindSpan (const PString &set, PINDEX offset=0) const |
Locate the position of character not in the set. More... | |
PINDEX | FindSpan (const char *cset, PINDEX offset=0) const |
Locate the position of character not in the set. More... | |
PINDEX | FindRegEx (const PRegularExpression ®ex, PINDEX offset=0) const |
Locate the position within the string of one of the regular expression. More... | |
PBoolean | FindRegEx (const PRegularExpression ®ex, PINDEX &pos, PINDEX &len, PINDEX offset=0, PINDEX maxPos=P_MAX_INDEX) const |
Locate the position within the string of one of the regular expression. More... | |
PBoolean | MatchesRegEx (const PRegularExpression ®ex) const |
Return true if the entire string matches the regular expression. More... | |
void | Replace (const PString &target, const PString &subs, PBoolean all=false, PINDEX offset=0) |
Locate the substring within the string and replace it with the specifed substring. More... | |
void | Splice (const PString &str, PINDEX pos, PINDEX len=0) |
Splice the string into the current string at the specified position. More... | |
void | Splice (const char *cstr, PINDEX pos, PINDEX len=0) |
Splice the string into the current string at the specified position. More... | |
void | Delete (PINDEX start, PINDEX len) |
Remove the substring from the string. More... | |
PString | operator() (PINDEX start, PINDEX end) const |
Extract a portion of the string into a new string. More... | |
PString | Left (PINDEX len) const |
Extract a portion of the string into a new string. More... | |
PString | Right (PINDEX len) const |
Extract a portion of the string into a new string. More... | |
PString | Mid (PINDEX start, PINDEX len=P_MAX_INDEX) const |
Extract a portion of the string into a new string. More... | |
PString | LeftTrim () const |
Create a string consisting of all characters from the source string except all spaces at the beginning of the string. More... | |
PString | RightTrim () const |
Create a string consisting of all characters from the source string except all spaces at the end of the string. More... | |
PString | Trim () const |
Create a string consisting of all characters from the source string except all spaces at the beginning and end of the string. More... | |
PString | ToLower () const |
Create a string consisting of all characters from the source string with all upper case letters converted to lower case. More... | |
PString | ToUpper () const |
Create a string consisting of all characters from the source string with all lower case letters converted to upper case. More... | |
PStringArray | Tokenise (const PString &separators, PBoolean onePerSeparator=true) const |
Split the string into an array of substrings. More... | |
PStringArray | Tokenise (const char *cseparators, PBoolean onePerSeparator=true) const |
Split the string into an array of substrings. More... | |
PStringArray | Lines () const |
Split the string into individual lines. More... | |
PINLINE | PString () |
Construct an empty string. More... | |
PINLINE | PString (const PString &str) |
Create a new reference to the specified string. More... | |
PINLINE | PString (const std::string &str) |
Create a new string from the specified std::string. More... | |
PString (const char *cstr) | |
Create a string from the C string array. More... | |
PString (const wchar_t *ustr) | |
Create a string from the UCS-2 string array. More... | |
PString (const char *cstr, PINDEX len) | |
Create a string from the array. More... | |
PString (const wchar_t *ustr, PINDEX len) | |
Create a string from the UCS-2 array. More... | |
PString (const PWCharArray &ustr) | |
Create a string from the UCS-2 array. More... | |
PString (char ch) | |
Create a string from the single character. More... | |
PString (short n) | |
Create a string from the integer type. More... | |
PString (unsigned short n) | |
Create a string from the integer type. More... | |
PString (int n) | |
Create a string from the integer type. More... | |
PString (unsigned int n) | |
Create a string from the integer type. More... | |
PString (long n) | |
Create a string from the integer type. More... | |
PString (unsigned long n) | |
Create a string from the integer type. More... | |
PString (PInt64 n) | |
Create a string from the integer type. More... | |
PString (PUInt64 n) | |
Create a string from the integer type. More... | |
PString (ConversionType type, const char *str,...) | |
PString (ConversionType type, long value, unsigned base=10) | |
PString (ConversionType type, double value, unsigned places) | |
PString & | operator= (const PString &str) |
Assign the string to the current object. More... | |
PString & | operator= (const std::string &str) |
Assign the string to the current object. More... | |
PString & | operator= (const char *cstr) |
Assign the C string to the current object. More... | |
PString & | operator= (char ch) |
Assign the character to the current object. More... | |
PString & | operator= (short n) |
Assign a string from the integer type. More... | |
PString & | operator= (unsigned short n) |
Assign a string from the integer type. More... | |
PString & | operator= (int n) |
Assign a string from the integer type. More... | |
PString & | operator= (unsigned int n) |
Assign a string from the integer type. More... | |
PString & | operator= (long n) |
Assign a string from the integer type. More... | |
PString & | operator= (unsigned long n) |
Assign a string from the integer type. More... | |
PString & | operator= (PInt64 n) |
Assign a string from the integer type. More... | |
PString & | operator= (PUInt64 n) |
Assign a string from the integer type. More... | |
virtual PString & | MakeEmpty () |
Make the current string empty. More... | |
PString | operator+ (const PString &str) const |
Concatenate two strings to produce a third. More... | |
PString | operator+ (const char *cstr) const |
Concatenate a C string to a PString to produce a third. More... | |
PString | operator+ (char ch) const |
Concatenate a single character to a PString to produce a third. More... | |
PString & | operator+= (const PString &str) |
Concatenate a string to another string, modifiying that string. More... | |
PString & | operator+= (const char *cstr) |
Concatenate a C string to a PString, modifiying that string. More... | |
PString & | operator+= (char ch) |
Concatenate a single character to a PString. More... | |
PString | operator& (const PString &str) const |
Concatenate two strings to produce a third. More... | |
PString | operator& (const char *cstr) const |
Concatenate a C string to a PString to produce a third. More... | |
PString | operator& (char ch) const |
Concatenate a single character to a PString to produce a third. More... | |
PString & | operator&= (const PString &str) |
Concatenate a string to another string, modifiying that string. More... | |
PString & | operator&= (const char *cstr) |
Concatenate a C string to a PString, modifiying that string. More... | |
PString & | operator&= (char ch) |
Concatenate a character to a PString, modifiying that string. More... | |
PString & | sprintf (const char *cfmt,...) |
Concatenate a formatted output to the string. More... | |
PString & | vsprintf (const PString &fmt, va_list args) |
Concatenate a formatted output to the string. More... | |
PString & | vsprintf (const char *cfmt, va_list args) |
Concatenate a formatted output to the string. More... | |
long | AsInteger (unsigned base=10) const |
Convert the string to an integer value using the specified number base. More... | |
DWORD | AsUnsigned (unsigned base=10) const |
Convert the string to an integer value using the specified number base. More... | |
PInt64 | AsInt64 (unsigned base=10) const |
Convert the string to an integer value using the specified number base. More... | |
PUInt64 | AsUnsigned64 (unsigned base=10) const |
Convert the string to an integer value using the specified number base. More... | |
double | AsReal () const |
Convert the string to a floating point number. More... | |
PWCharArray | AsUCS2 () const |
Convert UTF-8 string to UCS-2. More... | |
PBYTEArray | ToPascal () const |
Convert a standard null terminated string to a "pascal" style string. More... | |
PString | ToLiteral () const |
Convert the string to C literal string format. More... | |
operator const unsigned char * () const | |
Get the internal buffer as a pointer to unsigned characters. More... | |
operator std::string () const | |
Cast the PString to a std::string. More... | |
![]() | |
PCharArray (PINDEX initialSize=0) | |
Construct a new dynamic array of char. More... | |
PCharArray (char const *buffer, PINDEX length, PBoolean dynamic=true) | |
Construct a new dynamic array of char. More... | |
![]() | |
PBaseArray (PINDEX initialSize=0) | |
Construct a new dynamic array of elements of the specified type. More... | |
PBaseArray (T const *buffer, PINDEX length, PBoolean dynamic=true) | |
Construct a new dynamic array of elements of the specified type. More... | |
PBoolean | SetAt (PINDEX index, T val) |
Set the specific element in the array. More... | |
T | GetAt (PINDEX index) const |
Get a value from the array. More... | |
void | Attach (const T *buffer, PINDEX bufferSize) |
Attach a pointer to a static block to the base array type. More... | |
T * | GetPointer (PINDEX minSize=0) |
Get a pointer to the internal array and assure that it is of at least the specified size. More... | |
T | operator[] (PINDEX index) const |
Get a value from the array. More... | |
T & | operator[] (PINDEX index) |
Get a reference to value from the array. More... | |
operator T const * () const | |
Get a pointer to the internal array. More... | |
PBoolean | Concatenate (const PBaseArray &array) |
Concatenate one array to the end of this array. More... | |
![]() | |
PAbstractArray (PINDEX elementSizeInBytes, PINDEX initialSize=0) | |
Create a new dynamic array of initalSize elements of elementSizeInBytes bytes each. More... | |
PAbstractArray (PINDEX elementSizeInBytes, const void *buffer, PINDEX bufferSizeInElements, PBoolean dynamicAllocation) | |
Create a new dynamic array of bufferSizeInElements elements of elementSizeInBytes bytes each. More... | |
void | Attach (const void *buffer, PINDEX bufferSize) |
Attach a pointer to a static block to the base array type. More... | |
void * | GetPointer (PINDEX minSize=1) |
Get a pointer to the internal array and assure that it is of at least the specified size. More... | |
PBoolean | Concatenate (const PAbstractArray &array) |
Concatenate one array to the end of this array. More... | |
![]() | |
PContainer (PINDEX initialSize=0) | |
Create a new unique container. More... | |
PContainer (const PContainer &cont) | |
Create a new refernce to container. More... | |
PContainer & | operator= (const PContainer &cont) |
Assign one container reference to another. More... | |
virtual | ~PContainer () |
Destroy the container class. More... | |
virtual PINDEX | GetSize () const |
Get the current size of the container. More... | |
PBoolean | SetMinSize (PINDEX minSize) |
Set the minimum size of container. More... | |
PBoolean | IsUnique () const |
Determine if container is unique reference. More... | |
![]() | |
virtual | ~PObject () |
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const |
Determine the byte wise comparison of two objects. More... | |
bool | operator== (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator!= (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator< (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator> (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator<= (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator>= (const PObject &obj) const |
Compare the two objects. More... | |
virtual const char * | GetClass (unsigned ancestor=0) const |
Get the current dynamic type of the object instance. More... | |
PBoolean | IsClass (const char *cls) const |
virtual PBoolean | InternalIsDescendant (const char *clsName) const |
Determine if the dynamic type of the current instance is a descendent of the specified class. More... | |
Protected Member Functions | |
virtual Comparison | InternalCompare (PINDEX offset, char c) const |
virtual Comparison | InternalCompare (PINDEX offset, PINDEX length, const char *cstr) const |
PCaselessString (int dummy, const PCaselessString *str) | |
PCaselessString (PContainerReference &reference) | |
![]() | |
void | InternalFromUCS2 (const wchar_t *ptr, PINDEX len) |
PString (int dummy, const PString *str) | |
PString (PContainerReference &reference) | |
Additional Inherited Members | |
![]() | |
typedef const char * | Initialiser |
enum | ConversionType { Pascal, Basic, Literal, Signed, Unsigned, Decimal, Exponent, Printf, NumConversionTypes } |
![]() | |
static PString | Empty () |
Return an empty string. More... | |
![]() | |
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size) |
Internal function caled from CompareObjectMemoryDirect() More... | |
static const char * | Class () |
Get the name of the class as a C string. More... | |
![]() | |
PINDEX | elementSize |
Size of an element in bytes. More... | |
char * | theArray |
Pointer to the allocated block of memory. More... | |
PBoolean | allocatedDynamically |
Flag indicating the array was allocated on the heap. More... | |
![]() | |
![]() |
This class is a variation of a string that ignores case.
Thus in all standard comparison (==, < etc) and search (Find()
etc) functions the case of the characters and strings is ignored.
The characters in the string still maintain their case. Only the comparison operations are affected. So printing etc will still display the string as entered.
PCaselessString::PCaselessString | ( | ) |
Create a new, empty, caseless string.
PCaselessString::PCaselessString | ( | const char * | cstr | ) |
Create a new caseless string, initialising it to the characters in the C string provided.
cstr | C string to initialise the caseless string from. |
PCaselessString::PCaselessString | ( | const PString & | str | ) |
Create a caseless string, with a reference to the characters in the normal PString
provided.
A PCaselessString may also be provided to this constructor.
str | String to initialise the caseless string from. |
|
inline |
Create a caseless string from a std::string.
str | String to initialise the caseless string from. |
|
protected |
|
inlineprotected |
|
virtual |
Make a complete duplicate of the string.
Note that the data in the array of characters is duplicated as well and the new object is a unique reference to that data.
Reimplemented from PString.
|
protectedvirtual |
Reimplemented from PString.
|
protectedvirtual |
Reimplemented from PString.
PCaselessString& PCaselessString::operator= | ( | const PString & | str | ) |
Assign the string to the current object.
The current instance then becomes another reference to the same string in the str
parameter.
str | New string to assign. |
Referenced by PvCard::Token::operator=().
|
inline |
Assign the string to the current object.
The current instance then becomes another reference to the same string in the str
parameter.
str | New string to assign. |
References operator=().
Referenced by operator=().
PCaselessString& PCaselessString::operator= | ( | const char * | cstr | ) |
Assign the C string to the current object.
The current instance then becomes a unique reference to a copy of the cstr
parameter. The cstr
parameter is typically a literal string, eg:
myStr = "fred";
cstr | C string to assign. |
PCaselessString& PCaselessString::operator= | ( | char | ch | ) |
Assign the character to the current object.
The current instance then becomes a unique reference to a copy of the character parameter. eg:
myStr = 'A';
ch | Character to assign. |