Public Types |
typedef size_t | size_type |
Public Methods |
| String () |
| Construct an empty string. More...
|
| String (const String &original) |
| Copy constructor. More...
|
| String (const char *str) |
| Create a string from a cstring. More...
|
| String (std::string string) |
| Create a String from std::string. More...
|
| String (const String &str, size_t offset, size_t len=npos) |
| Create a new string from a subset of another string. More...
|
| String (size_t size, const char *format,...) |
| Create a string from formatted text input. More...
|
| String (size_t count, const char fill='') |
| Fill a new string with character data. More...
|
virtual | ~String () |
| Destroy the string... More...
|
const char* | getIndex (size_t index) const |
| Get a string pointer to string content based on an indexed offset. More...
|
char* | getText (void) const |
| Get the text of a string. More...
|
long | getValue (long defvalue=0l) const |
| Get the value of a string. More...
|
bool | getBool (bool defbool=false) const |
| Get the bool flag of a string. More...
|
const size_t | getLength (void) const |
| Get the assigned length of string. More...
|
const size_t | getSize (void) const |
| Get the allocation size of the string variable. More...
|
bool | isEmpty (void) const |
| Return true if string is empty. More...
|
void | resize (size_t size) |
| Re-allocate buffer space for string. More...
|
void | clear (void) |
| Clear the contents of the entire string. More...
|
char | at (ssize_t offset) const |
| Return a character at a known offset. More...
|
unsigned | count (const String &s, size_t offset=0) const |
| Count the number of occurences of a specific string within our string. More...
|
unsigned | count (const char *s, size_t offset=0, size_t len=0) const |
| Count the number of occurrences of a specific text pattern within our string. More...
|
String | token (const char *delim="\t\n\r", size_t offset=0) |
| Extract a new string as a token from the current string. More...
|
size_t | find (const String &s, size_t offset=0, unsigned instance=1) const |
| Find the index to the nth instance of a substring in our string. More...
|
size_t | rfind (const String &s, size_t offset=0) const |
| Find last occurence of a substring in our string. More...
|
size_t | find (const char *s, size_t offset=0, size_t len=0, unsigned count=1) const |
| Find the index to the nth instance of text in our string. More...
|
size_t | rfind (const char *s, size_t offset=0, size_t len=0) const |
| Find last occurence of a text in our string. More...
|
void | trim (const char *cs) |
| Trim trailing characters from a string. More...
|
void | chop (const char *cs) |
| Chop leading characters from a string. More...
|
void | strip (const char *cs) |
| Strip lead and trailing characters from a string. More...
|
void | chop (size_t chars) |
| Chop n leading characters from a string. More...
|
void | trim (size_t count) |
| Trim n trailing characters from a string. More...
|
void | erase (size_t start, size_t len=npos) |
| Erase a portion of string. More...
|
void | insert (size_t start, const char *text, size_t len=0) |
| Insert text into a string. More...
|
void | insert (size_t start, const String &str) |
| Insert other string into our string. More...
|
void | replace (size_t start, size_t len, const char *text, size_t count=0) |
| Replace text at a specific position in the string with new text. More...
|
void | replace (size_t start, size_t len, const String &string) |
| Replace text at a specific position in the string with new string,. More...
|
size_t | find (unsigned instance, const char *text, size_t offset=0, size_t len=0) const |
| A more convenient version of find for nth occurences, by putting the instance first. More...
|
size_t | find (unsigned instance, const String &string, size_t offset=0) const |
| A more convenient version of find for nth occurences, by putting the instance first. More...
|
String | substr (size_t start, size_t len) const |
| Return a new string that contains a specific substring of the current string. More...
|
const char* | index (size_t ind) const |
| Return an indexed string based on the index, such as from a find. More...
|
void | compact (void) |
| Reduce the size of the string allocation to the minimum needed based on the current effective length. More...
|
char* | c_str (void) const |
| Old ANSI C++ compatible string pointer extraction. More...
|
| operator char * () const |
| Get our string data through dereference operator. More...
|
bool | operator! (void) const |
| Logical test for string empty. More...
|
char* | text (void) const |
| Alternate get text method. More...
|
char* | data (void) const |
| Alternate get text method. More...
|
size_t | length (void) const |
| Get length as if null terminated string. More...
|
size_t | size (void) const |
| Get actual length of string data. More...
|
size_t | capacity (void) const |
| Get space allocated to hold current string. More...
|
bool | empty (void) const |
| Return true if string is empty. More...
|
void | append (const char *str, size_t count=0) |
| Append text to the end of the current string. More...
|
void | append (size_t size, const char *format,...) |
| Append formatted text to the end of the current string. More...
|
void | append (const char *str, size_t offset, size_t count) |
| Append text into the current string. More...
|
void | add (char c) |
| Add a character to the end of a string. More...
|
void | append (const String &str) |
| Append string to the end of the current string. More...
|
const char | operator[] (unsigned ind) const |
| Extract a character by array indexing. More...
|
const char* | operator= (const char *str) |
| Assign our string for c string. More...
|
String& | operator+= (const String &str) |
| Append operator. More...
|
String& | operator+= (char c) |
| Append operator. More...
|
String& | operator+= (const char *str) |
| Append operator. More...
|
String& | operator+= (const std::string &str) |
| Append operator. More...
|
bool | operator< (const String &str) const |
bool | operator< (const char *str) const |
bool | operator> (const String &str) const |
bool | operator> (const char *str) const |
bool | operator<= (const String &str) const |
bool | operator<= (const char *str) const |
bool | operator>= (const String &str) const |
bool | operator>= (const char *str) const |
bool | operator== (const String &str) const |
bool | operator== (const char *str) const |
bool | operator!= (const String &str) const |
bool | operator!= (const char *str) const |
String& | operator+= (int i) |
| Append operator. More...
|
String& | operator+= (unsigned int i) |
String& | operator+= (long l) |
String& | operator+= (unsigned long l) |
String& | operator+= (float f) |
String& | operator+= (double d) |
String& | operator+= (short s) |
String& | operator+= (unsigned short s) |
String& | operator= (int i) |
| Assignment operator. More...
|
String& | operator= (unsigned int i) |
String& | operator= (long l) |
String& | operator= (unsigned long l) |
String& | operator= (float f) |
String& | operator= (double d) |
String& | operator= (short s) |
String& | operator= (unsigned short s) |
String& | operator= (const String &original) |
bool | operator *= (const String &str) const |
| Test if string is contained in our string. More...
|
bool | operator *= (const char *str) const |
| Test if text is contained in our string. More...
|
Static Public Attributes |
const size_t | npos |
Protected Methods |
bool | isBig (void) const |
| Determine if string is allocated in local variable or an external reference. More...
|
const char* | set (const char *str, size_t len=0) |
| Set the content of the string variable to the specified string value, and use smart re-allocation strategies if appropriate to shrink the size of the variable. More...
|
void | set (const String &str) |
| Set the content of the string variable to that of another variable. More...
|
const char* | set (size_t size, const char *format,...) |
| Set the content of the string variable to that of a formatted printf style string. More...
|
void | copy (const String &str) |
| Impliment the copy constructor, used internally. More...
|
void | init (void) |
| Used to initialize a string object. More...
|
size_t | setSize (size_t size) |
| Set the size of allocated space in the string variable (capacity) to a known value. More...
|
void | setLength (size_t len) |
| Set the length value of the string content. More...
|
virtual int | compare (const char *text, size_t len=0, size_t index=0) const |
| A derivable low level comparison operator. More...
|
size_t | search (const char *text, size_t clen=0, size_t offset=0) const |
| An internal method used to search for a substring starting at a known offset. More...
|
Static Protected Methods |
char* | getSpace (size_t size) |
| Used to fetch memory, if needed, based on the size, from the pager, or the system heap. More...
|
Static Protected Attributes |
const unsigned | minsize |
const unsigned | slotsize |
const unsigned | pagesize |
const unsigned | slotlimit |
const unsigned | slotcount |
Friends |
class | StringObject |
class | MemPager |
__EXPORT String | operator+ (const String &s1, const String &s2) |
| Add two strings and return a temporary object. More...
|
__EXPORT String | operator+ (const String &s1, const char *s2) |
__EXPORT String | operator+ (const char *s1, const String &s2) |
__EXPORT String | operator+ (const String &s1, const char c2) |
__EXPORT String | operator+ (const char c1, const String &s2) |
__EXPORT std::istream& | getline (std::istream &is, String &str, char delim='\n', size_t size=0) |
| Fetch input from a std::istream into the current string variable until either the string variable is filled (based on current length) or the deliminator is read. More...
|
__EXPORT std::ostream& | operator<< (std::ostream &os, const String &str) |
| Stream the content of our string variable directly to a C++ streaming source. More...
|
std::istream& | operator>> (std::istream &is, String &str) |
| Stream input into our variable. More...
|
__EXPORT int | strprintf (String &str, size_t size, const char *format,...) |
| Print values directly into a string variable. More...
|
It uses optimized memory allocation strategies to efficiently handle smaller string content by grouping strings into 32 byte aligned slots that can be re-allocated from a free list directly.
While meant to cover the basic functionality of the ANSI C++ string class in form and function, this class offers some important enhancements, including the ability to derive class type specific versions of itself. The latter might be used to derive a unicode string, a string for data and time data types, or to add case insensitive comparisons, for example.