In file ../include/EST_Pathname.h:

## class EST_Pathname

> Class representing pathnames.

## Inheritance:

### Inherited from EST_String:

### Public Fields

static const char* version
static const EST_String Empty

Split a string into parts.

int max

### Public Methods

int length(void) const
int space(void) const
const char* str(void) const
char* updatable_str(void)
static EST_String FromChar(const char c)
static EST_String Number(int i, int base=10)
static EST_String Number(long i, int base=10)
static EST_String Number(double d)
static EST_String Number(float f)
int Int(bool &ok) const
long Long(bool &ok) const
float Float(bool &ok) const
double Double(bool &ok) const

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
  Exatly match this string?
int matches(const EST_String &e, int pos=0) const
  Exatly 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 occurances of substring
int freq(const EST_String &s) const
  Number of occurances 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 (eg.
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 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

Asignment

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

Concatenation
relational operators

return b
return(a==b)
return compare(a, b)

String comparison.

return compare(b, a)
Case folded comparison.

const EST_String& table return fcompare(a, b, (const unsigned char* )(const char* )table)

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 )

### Public

typedef int EST_string_size
#define MAX_STRING_SIZE(INT_MAX)

## Documentation

> Class representing pathnames. Makes common filename manipulations available as methods. Different implementations are provided for different systems.

This class has no child classes.

Friends:
  EST_Pathname operator + (const EST_Pathname p, const EST_Pathname addition)
  EST_Pathname operator + (const char *p, const EST_Pathname addition)

Alphabetic index HTML hierarchy of classes or Java

This page is part of the Edinburgh Speech Tools Library documentation
Copyright University of Edinburgh 1997
Contact: speech_tools@cstr.ed.ac.uk