|
Public Types |
| typedef size_t | size_type |
Public Member Functions |
| | String () |
| | Construct an empty string.
|
| | String (const String &original) |
| | Copy constructor.
|
| | String (const char *str) |
| | Create a string from a cstring.
|
| | String (std::string string) |
| | Create a String from std::string.
|
| | String (const String &str, size_t offset, size_t len=npos) |
| | Create a new string from a subset of another string.
|
| | String (size_t size, const char *format,...) |
| | Create a string from formatted text input.
|
| | String (size_t count, const char fill= ' ') |
| | Fill a new string with character data.
|
| virtual | ~String () |
| | Destroy the string...
|
| const char * | getIndex (size_t index) const |
| | Get a string pointer to string content based on an indexed offset.
|
| char * | getText (void) const |
| | Get the text of a string.
|
| long | getValue (long defvalue=0l) const |
| | Get the value of a string.
|
| bool | getBool (bool defbool=false) const |
| | Get the bool flag of a string.
|
| const size_t | getLength (void) const |
| | Get the assigned length of string.
|
| const size_t | getSize (void) const |
| | Get the allocation size of the string variable.
|
| bool | isEmpty (void) const |
| | Return true if string is empty.
|
| void | resize (size_t size) |
| | Re-allocate buffer space for string.
|
| void | clear (void) |
| | Clear the contents of the entire string.
|
| char | at (ssize_t offset) const |
| | Return a character at a known offset.
|
| unsigned | count (const String &s, size_t offset=0) const |
| | Count the number of occurences of a specific string within our string.
|
| 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.
|
| String | token (const char *delim=" \t\n\r", size_t offset=0) |
| | Extract a new string as a token from the current string.
|
| 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.
|
| size_t | rfind (const String &s, size_t offset=0) const |
| | Find last occurence of a substring in our string.
|
| 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.
|
| size_t | rfind (const char *s, size_t offset=0, size_t len=0) const |
| | Find last occurence of a text in our string.
|
| void | trim (const char *cs) |
| | Trim trailing characters from a string.
|
| void | chop (const char *cs) |
| | Chop leading characters from a string.
|
| void | strip (const char *cs) |
| | Strip lead and trailing characters from a string.
|
| void | chop (size_t chars) |
| | Chop n leading characters from a string.
|
| void | trim (size_t count) |
| | Trim n trailing characters from a string.
|
| void | erase (size_t start, size_t len=npos) |
| | Erase a portion of string.
|
| void | insert (size_t start, const char *text, size_t len=0) |
| | Insert text into a string.
|
| void | insert (size_t start, const String &str) |
| | Insert other string into our string.
|
| 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.
|
| void | replace (size_t start, size_t len, const String &string) |
| | Replace text at a specific position in the string with new string,.
|
| 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.
|
| 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.
|
| String | substr (size_t start, size_t len) const |
| | Return a new string that contains a specific substring of the current string.
|
| void | compact (void) |
| | Reduce the size of the string allocation to the minimum needed based on the current effective length.
|
| char * | c_str (void) const |
| | Old ANSI C++ compatible string pointer extraction.
|
| | operator char * () const |
| | Get our string data through dereference operator.
|
| bool | operator! (void) const |
| | Logical test for string empty.
|
| char * | text (void) const |
| | Alternate get text method.
|
| char * | data (void) const |
| | Alternate get text method.
|
| size_t | length (void) const |
| | Get length as if null terminated string.
|
| size_t | size (void) const |
| | Get actual length of string data.
|
| size_t | capacity (void) const |
| | Get space allocated to hold current string.
|
| bool | empty (void) const |
| | Return true if string is empty.
|
| void | append (const char *str, size_t count=0) |
| | Append text to the end of the current string.
|
| void | append (size_t size, const char *format,...) |
| | Append formatted text to the end of the current string.
|
| void | append (const char *str, size_t offset, size_t count) |
| | Append text into the current string.
|
| void | add (char c) |
| | Add a character to the end of a string.
|
| void | append (const String &str) |
| | Append string to the end of the current string.
|
| const char | operator[] (unsigned ind) const |
| | Extract a character by array indexing.
|
| const char * | operator= (const char *str) |
| | Assign our string for c string.
|
| String & | operator+= (const String &str) |
| | Append operator.
|
| String & | operator+= (char c) |
| | Append operator.
|
| String & | operator+= (const char *str) |
| | Append operator.
|
| String & | operator+= (const std::string &str) |
| | Append operator.
|
| 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.
|
| 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.
|
| 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.
|
| bool | operator *= (const char *str) const |
| | Test if text is contained in our string.
|
Public Attributes |
| const char *( | index )(size_t ind) const |
| | Return an indexed string based on the index, such as from a find.
|
Static Public Attributes |
| const size_t | npos |
Protected Member Functions |
| bool | isBig (void) const |
| | Determine if string is allocated in local variable or an external reference.
|
| 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.
|
| void | set (const String &str) |
| | Set the content of the string variable to that of another variable.
|
| const char * | set (size_t size, const char *format,...) |
| | Set the content of the string variable to that of a formatted printf style string.
|
| void | copy (const String &str) |
| | Impliment the copy constructor, used internally.
|
| void | init (void) |
| | Used to initialize a string object.
|
| size_t | setSize (size_t size) |
| | Set the size of allocated space in the string variable (capacity) to a known value.
|
| void | setLength (size_t len) |
| | Set the length value of the string content.
|
| virtual int | compare (const char *text, size_t len=0, size_t index=0) const |
| | A derivable low level comparison operator.
|
| 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.
|
Static Protected Member Functions |
| char * | getSpace (size_t size) |
| | Used to fetch memory, if needed, based on the size, from the pager, or the system heap.
|
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.
|
| __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.
|
| __EXPORT std::ostream & | operator<< (std::ostream &os, const String &str) |
| | Stream the content of our string variable directly to a C++ streaming source.
|
| std::istream & | operator>> (std::istream &is, String &str) |
| | Stream input into our variable.
|
| __EXPORT int | strprintf (String &str, size_t size, const char *format,...) |
| | Print values directly into a string variable.
|
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.