#include <include/EST_String.h>


Public Types | |
| typedef int | EST_string_size |
| Type of string size field. | |
Public Member Functions | |
| EST_String (void) | |
| Construct an empty string. | |
| EST_String (const char *s) | |
| Construct from char *. | |
| EST_String (const char *s, int start_or_fill, int len) | |
| Construct from part of char * or fill with given character. | |
| EST_String (const char *s, int s_size, int start, int len) | |
| Construct from C string. | |
| EST_String (const EST_String &s, int start, int len) | |
| EST_String (const EST_String &s) | |
| ~EST_String () | |
| Destructor. | |
| int | length (void) const |
| Length of string ({not} length of underlying chunk) | |
| int | space (void) const |
| Size of underlying chunk. | |
| const char * | str (void) const |
| Get a const-pointer to the actual memory. | |
| char * | updatable_str (void) |
| Get a writable pointer to the actual memory. | |
| void | make_updatable (void) |
| int | Int (bool &ok) const |
| Convert to an integer. | |
| int | Int (void) const |
| long | Long (bool &ok) const |
| Convert to a long. | |
| long | Long (void) const |
| float | Float (bool &ok) const |
| Convert to a float. | |
| float | Float (void) const |
| double | Double (bool &ok) const |
| Convert to a double. | |
| double | Double (void) const |
| EST_String & | ignore_volatile (void) volatile |
Before | |
| EST_String | before (int pos, int len=0) const |
| Part before position. | |
| EST_String | before (const char *s, int pos=0) const |
| Part before first matching substring after pos. | |
| EST_String | before (const EST_String &s, int pos=0) const |
| Part before first matching substring after pos. | |
| EST_String | before (EST_Regex &e, int pos=0) const |
| Part before first match of regexp after pos. | |
At | |
| EST_String | at (int from, int len=0) const |
| Return part at position. | |
| EST_String | at (const char *s, int pos=0) const |
| Return part where substring found (not useful, included for completeness) | |
| EST_String | at (const EST_String &s, int pos=0) const |
| Return part where substring found (not useful, included for completeness) | |
| EST_String | at (EST_Regex &e, int pos=0) const |
| Return part matching regexp. | |
After | |
| EST_String | after (int pos, int len=1) const |
| Part after pos+len. | |
| EST_String | after (const char *s, int pos=0) const |
| Part after substring. | |
| EST_String | after (const EST_String &s, int pos=0) const |
| Part after substring. | |
| EST_String | after (EST_Regex &e, int pos=0) const |
| Part after match of regular expression. | |
Search for something | |
| int | search (const char *s, int len, int &mlen, int pos=0) const |
| Find a substring. | |
| int | search (const EST_String s, int &mlen, int pos=0) const |
| Find a substring. | |
| int | search (EST_Regex &re, int &mlen, int pos=0, int *starts=NULL, int *ends=NULL) const |
| Find a match of the regular expression. | |
Get position of something | |
| int | index (const char *s, int pos=0) const |
| Position of substring (starting at pos) | |
| int | index (const EST_String &s, int pos=0) const |
| Position of substring (starting at pos) | |
| int | index (EST_Regex &ex, int pos=0) const |
| Position of match of regexp (starting at pos) | |
Does string contain something? | |
| int | contains (const char *s, int pos=-1) const |
| Does it contain this substring? | |
| int | contains (const EST_String &s, int pos=-1) const |
| Does it contain this substring? | |
| int | contains (const char c, int pos=-1) const |
| Does it contain this character? | |
| int | contains (EST_Regex &ex, int pos=-1) const |
| Does it contain a match for this regular expression? | |
Does string exactly match? | |
| int | matches (const char *e, int pos=0) const |
| Exactly match this string? | |
| int | matches (const EST_String &e, int pos=0) const |
| Exactly match this string? | |
| int | matches (EST_Regex &e, int pos=0, int *starts=NULL, int *ends=NULL) const |
| Exactly matches this regular expression, can return ends of sub-expressions. | |
Global replacement | |
| int | gsub (const char *os, const EST_String &s) |
| Substitute one string for another. | |
| int | gsub (const char *os, const char *s) |
| Substitute one string for another. | |
| int | gsub (const EST_String &os, const EST_String &s) |
| Substitute one string for another. | |
| int | gsub (const EST_String &os, const char *s) |
| Substitute one string for another. | |
| int | gsub (EST_Regex &ex, const EST_String &s) |
| Substitute string for matches of regular expression. | |
| int | gsub (EST_Regex &ex, const char *s) |
| Substitute string for matches of regular expression. | |
| int | gsub (EST_Regex &ex, int bracket_num) |
| Substitute string for matches of regular expression. | |
| int | subst (EST_String source, int(&starts)[EST_Regex_max_subexpressions], int(&ends)[EST_Regex_max_subexpressions]) |
| Substitute the result of a match into a string. | |
Frequency counts | |
| int | freq (const char *s) const |
| Number of occurrences of substring. | |
| int | freq (const EST_String &s) const |
| Number of occurrences of substring. | |
| int | freq (EST_Regex &s) const |
| Number of matches of regular expression. | |
Quoting | |
| EST_String | quote (const char quotec) const |
| Return the string in quotes with internal quotes protected. | |
| EST_String | quote_if_needed (const char quotec) const |
| Return in quotes if there is something to protect (e.g. spaces) | |
| EST_String | unquote (const char quotec) const |
| Remove quotes and unprotect internal quotes. | |
| EST_String | unquote_if_needed (const char quotec) const |
| Remove quotes if any. | |
Operators | |
| const char | operator() (int i) const |
| Function style access to constant strings. | |
| char & | operator[] (int i) |
| Array style access to writable strings. | |
| operator const char * () const | |
| Cast to const char * by simply giving access to pointer. | |
| operator const char * () | |
| operator char * () | |
| Cast to char *, may involve copying. | |
Add to end of string. | |
| EST_String & | operator+= (const char *b) |
| Add C string to end of EST_String. | |
| EST_String & | operator+= (const EST_String b) |
| Add EST_String to end of EST_String. | |
Assignment | |
| EST_String & | operator= (const char *str) |
| Assign C string to EST_String. | |
| EST_String & | operator= (const char c) |
| Assign single character to EST_String. | |
| EST_String & | operator= (const EST_String &s) |
| Assign EST_String to EST_String. | |
Static Public Member Functions | |
| static EST_String | FromChar (const char c) |
| Build string from a single character. | |
| static EST_String | Number (int i, int base=10) |
| Build string from an integer. | |
| static EST_String | Number (long i, int base=10) |
| Build string from a long integer. | |
| static EST_String | Number (double d) |
| Build string from a double. | |
| static EST_String | Number (float f) |
| Build string from a float. | |
| static EST_String | cat (const EST_String s1, const EST_String s2=Empty, const EST_String s3=Empty, const EST_String s4=Empty, const EST_String s5=Empty, const EST_String s6=Empty, const EST_String s7=Empty, const EST_String s8=Empty, const EST_String s9=Empty) |
Static Public Attributes | |
| static const char * | version = "CSTR String Class " STRING_VERSION " " STRING_DATE |
| Global version string. | |
| static const EST_String | Empty |
| Constant empty string. | |
Friends | |
| class | EST_Regex |
| EST_String | operator* (const EST_String &s, int n) |
| Repeat string N times. | |
| EST_String | upcase (const EST_String &s) |
| Convert to upper case. | |
| EST_String | downcase (const EST_String &s) |
| Convert to lower case. | |
| ostream & | operator<< (ostream &s, const EST_String &str) |
| Stream output for EST_String. | |
Concatenation | |
| EST_String | operator+ (const EST_String &a, const EST_String &b) |
| Concatenate two EST_Strings. | |
| EST_String | operator+ (const char *a, const EST_String &b) |
| Concatenate C String with EST_String. | |
| EST_String | operator+ (const EST_String &a, const char *b) |
| Concatenate EST_String with C String. | |
relational operators | |
| int | operator== (const char *a, const EST_String &b) |
| int | operator== (const EST_String &a, const char *b) |
| int | operator== (const EST_String &a, const EST_String &b) |
| int | operator!= (const char *a, const EST_String &b) |
| int | operator!= (const EST_String &a, const char *b) |
| int | operator!= (const EST_String &a, const EST_String &b) |
| int | operator< (const char *a, const EST_String &b) |
| int | operator< (const EST_String &a, const char *b) |
| int | operator< (const EST_String &a, const EST_String &b) |
| int | operator> (const char *a, const EST_String &b) |
| int | operator> (const EST_String &a, const char *b) |
| int | operator> (const EST_String &a, const EST_String &b) |
| int | operator<= (const char *a, const EST_String &b) |
| int | operator<= (const EST_String &a, const char *b) |
| int | operator<= (const EST_String &a, const EST_String &b) |
| int | operator>= (const char *a, const EST_String &b) |
| int | operator>= (const EST_String &a, const char *b) |
| int | operator>= (const EST_String &a, const EST_String &b) |
String comparison. | |
All these operators return -1, 0 or 1 to indicate the sort order of the strings. | |
| int | compare (const EST_String &a, const EST_String &b) |
| int | compare (const EST_String &a, const char *b) |
| int | compare (const char *a, const EST_String &b) |
| int | fcompare (const EST_String &a, const EST_String &b, const unsigned char *table) |
| int | fcompare (const EST_String &a, const EST_String &b) |
| int | fcompare (const EST_String &a, const char *b, const unsigned char *table) |
| int | fcompare (const EST_String &a, const EST_String &b, const EST_String &table) |
Split a string into parts. | |
These functions divide up a string producing an array of substrings. | |
| int | split (const EST_String &s, EST_String result[], int max, const EST_String &seperator, char quote=0) |
| Split at a given separator. | |
| int | split (const EST_String &s, EST_String result[], int max, const char *seperator, char quote=0) |
| Split at a given separator. | |
| int | split (const EST_String &s, EST_String result[], int max, EST_Regex &seperator, char quote=0) |
| Split at each match of the regular expression. | |
A non-copyleft implementation of a string class to use with compilers that aren't GNU C++.
Strings are reference-counted and reasonably efficient (eg you can pass them around, into and out of functions and so on without worrying too much about the cost).
The associated class EST_Regex can be used to represent regular expressions.
Definition at line 70 of file EST_String.h.
|
inline |
Copy constructor We have to declare our own copy constructor to lie to the compiler about the constness of the RHS.
Definition at line 219 of file EST_String.h.
|
static |
Concatenate a number of strings. This is more efficient than multiple uses of + or +=
Definition at line 1081 of file EST_String.cc.
|
friend |
Case folded comparison.
The table argument can defined how upper and lower case characters correspond. The default works for ASCII.
Definition at line 1147 of file EST_String.cc.