#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.