User Documentation
Centre for Vision, Speech & Signal Processing
DEVELOP IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
StringC::StringC(void)
StringC::StringC(const StringC &)
StringC::StringC(const SubStringC &)
StringC::StringC(const char *)
StringC::StringC(const char *,const SizeT)
StringC::StringC(const char *,SizeT,SizeT)
StringC::StringC(const SizeT,const char *)
StringC::StringC(const IndexC)
StringC::StringC(IntT)
StringC::StringC(UIntT)
StringC::StringC(LongIntT)
StringC::StringC(ULongIntT)
StringC::StringC(RealT)
StringC::StringC(char)
StringC::StringC(istream &)
StringC::~StringC(void)
StringC::Copy(void) const
StringC::Hash(void) const
StringC::operator=(const StringC &)
StringC::operator=(const char *)
StringC::operator=(char)
StringC::operator=(const SubStringC &)
StringC::operator+=(const StringC &)
StringC::operator+=(const SubStringC &)
StringC::operator+=(const char *)
StringC::operator+=(char)
StringC::prepend(const StringC &)
StringC::prepend(const SubStringC &)
StringC::prepend(const char *)
StringC::prepend(char)
StringC::cat(const StringC &,const StringC &,StringC &)
StringC::cat(const StringC &,const SubStringC &,StringC &)
StringC::cat(const StringC &,const char *,StringC &)
StringC::cat(const StringC &,char,StringC &)
StringC::cat(const SubStringC &,const StringC &,StringC &)
StringC::cat(const SubStringC &,const SubStringC &,StringC &)
StringC::cat(const SubStringC &,const char *,StringC &)
StringC::cat(const SubStringC &,char,StringC &)
StringC::cat(const char *,const StringC &,StringC &)
StringC::cat(const char *,const SubStringC &,StringC &)
StringC::cat(const char *,const char *,StringC &)
StringC::cat(const char *,char,StringC &)
StringC::cat(const StringC &,const StringC &,const StringC &,StringC &)
StringC::cat(const StringC &,const StringC &,const SubStringC &,StringC &)
StringC::cat(const StringC &,const StringC &,const char *,StringC &)
StringC::cat(const StringC &,const StringC &,char,StringC &)
StringC::cat(const StringC &,const SubStringC &,const StringC &,StringC &)
StringC::cat(const StringC &,const SubStringC &,const SubStringC &,StringC &)
StringC::cat(const StringC &,const SubStringC &,const char *,StringC &)
StringC::cat(const StringC &,const SubStringC &,char,StringC &)
StringC::cat(const StringC &,const char *,const StringC &,StringC &)
StringC::cat(const StringC &,const char *,const SubStringC &,StringC &)
StringC::cat(const StringC &,const char *,const char *,StringC &)
StringC::cat(const StringC &,const char *,char,StringC &)
StringC::cat(const char *,const StringC &,const StringC &,StringC &)
StringC::cat(const char *,const StringC &,const SubStringC &,StringC &)
StringC::cat(const char *,const StringC &,const char *,StringC &)
StringC::cat(const char *,const StringC &,char,StringC &)
StringC::cat(const char *,const SubStringC &,const StringC &,StringC &)
StringC::cat(const char *,const SubStringC &,const SubStringC &,StringC &)
StringC::cat(const char *,const SubStringC &,const char *,StringC &)
StringC::cat(const char *,const SubStringC &,char,StringC &)
StringC::cat(const char *,const char *,const StringC &,StringC &)
StringC::cat(const char *,const char *,const SubStringC &,StringC &)
StringC::cat(const char *,const char *,const char *,StringC &)
StringC::cat(const char *,const char *,char,StringC &)
StringC::index(char,int) const
StringC::index(const StringC &,int) const
StringC::index(const SubStringC &,int) const
StringC::index(const char *,int) const
StringC::index(const Regex &,int) const
StringC::contains(char) const
StringC::contains(const StringC &) const
StringC::contains(const SubStringC &) const
StringC::contains(const char *) const
StringC::contains(const Regex &) const
StringC::contains(char,int) const
StringC::contains(const StringC &,int) const
StringC::contains(const SubStringC &,int) const
StringC::contains(const char *,int) const
StringC::contains(const Regex &,int) const
StringC::matches(char,int) const
StringC::matches(const StringC &,int) const
StringC::matches(const SubStringC &,int) const
StringC::matches(const char *,int) const
StringC::matches(const Regex &,int) const
StringC::CaseCmp(const StringC &) const
StringC::freq(char) const
StringC::freq(const StringC &) const
StringC::freq(const SubStringC &) const
StringC::freq(const char *) const
StringC::at(int,int)
StringC::operator()(int,int)
StringC::at(const StringC &,int)
StringC::at(const SubStringC &,int)
StringC::at(const char *,int)
StringC::at(char,int)
StringC::at(const Regex &,int)
StringC::before(int)
StringC::before(const StringC &,int)
StringC::before(const SubStringC &,int)
StringC::before(const char *,int)
StringC::before(char,int)
StringC::before(const Regex &,int)
StringC::through(int)
StringC::through(const StringC &,int)
StringC::through(const SubStringC &,int)
StringC::through(const char *,int)
StringC::through(char,int)
StringC::through(const Regex &,int)
StringC::from(int)
StringC::from(const StringC &,int)
StringC::from(const SubStringC &,int)
StringC::from(const char *,int)
StringC::from(char,int)
StringC::from(const Regex &,int)
StringC::after(int)
StringC::after(const StringC &,int)
StringC::after(const SubStringC &,int)
StringC::after(const char *,int)
StringC::after(char,int)
StringC::after(const Regex &,int)
StringC::del(int,int)
StringC::del(const StringC &,int)
StringC::del(const SubStringC &,int)
StringC::del(const char *,int)
StringC::del(char,int)
StringC::del(const Regex &,int)
StringC::gsub(const StringC &,const StringC &)
StringC::gsub(const SubStringC &,const StringC &)
StringC::gsub(const char *,const StringC &)
StringC::gsub(const char *,const char *)
StringC::gsub(const Regex &,const StringC &)
StringC::split(const StringC &,StringC,int,const StringC &)
StringC::split(const StringC &,StringC,int,const Regex &)
StringC::common_prefix(const StringC &,const StringC &,int)
StringC::common_suffix(const StringC &,const StringC &,int)
StringC::StrCreplicate(char,int)
StringC::StrCreplicate(const StringC &,int)
StringC::StrCreplicateStrC(const StringC &,int)
StringC::join(StringC,int,const StringC &)
StringC::reverse(const StringC &)
StringC::upcase(const StringC &)
StringC::downcase(const StringC &)
StringC::capitalize(const StringC &)
StringC::reverse(void)
StringC::upcase(void)
StringC::downcase(void)
StringC::capitalize(void)
StringC::operator[](MUIndexT)
StringC::operator[](MUIndexT) const
StringC::operator[](IndexT)
StringC::operator[](IndexT) const
StringC::operator[](int)
StringC::operator[](int) const
StringC::elem(int) const
StringC::firstchar(void) const
StringC::lastchar(void) const
StringC::operator const char *(void) const
StringC::chars(void) const
StringC::operator<<(ostream &,const StringC &)
StringC::operator<<(ostream &,const SubStringC &)
StringC::operator>>(istream &,StringC &)
StringC::operator>>(BinIStreamC &,StringC &)
StringC::readline(istream &,StringC &,char,int)
StringC::length(void) const
StringC::empty(void) const
StringC::IsEmpty(void) const
StringC::alloc(int)
StringC::allocation(void) const
StringC::Size(void) const
StringC::error(const char *)
StringC::OK(void) const
StringC::TopAndTail(void) const
StringC
 
A reference-counted string.
 
include "amma/String.hh"
User Level:Default
Library:Mtext
Example:exBiHash.cc
Section:Basic Types.Text Text Processing
In Scope:std

Comments:
This class is hacked from the Gnu string class, which explains to some extent the dodgy documentation of this class. Also, Some useful operators do not appear because they are global functions (we will fix this one day). In particular:

The libg++ info file for the String class contains the relevant information.

Derived Classes: Variables:
Methods:
StringC()

StringC(const StringC & x)

StringC(const SubStringC & x)

StringC(const char * t)
Turn t into a StringC.

StringC(const char * t,const SizeT len)
Allocate new string, with len bytes in it.

StringC(const char * t,SizeT useLen,SizeT allocLen)
Create a string of length allocLen; copy useLen characters from t into new string.

StringC(const SizeT len,const char * defaultString)
Construct a string which is a copy of 'defaultString's first 'len' characters.

StringC(const IndexC n)
Create a string from IndexC

StringC(IntT n)
Create a string from Int

StringC(UIntT n)
Create a string from unsigned int

StringC(LongIntT n)
Create a string from long int

StringC(ULongIntT n)
Create a string from unsigned long int

StringC(RealT val)
Create a string from real value

StringC(char c)
Create a string from char "c"

StringC(istream & in)

~StringC()

StringC Copy(void) const

unsigned int Hash(void) const
Create a hash value that is "fairly unique" for string.

StringC & operator=(const StringC & y)

StringC & operator=(const char * y)

StringC & operator=(char c)

StringC & operator=(const SubStringC & y)
concatenation

StringC & operator+=(const StringC & y)

StringC & operator+=(const SubStringC & y)

StringC & operator+=(const char * t)

StringC & operator+=(char c)

void prepend(const StringC & y)

void prepend(const SubStringC & y)

void prepend(const char * t)

void prepend(char c)

void cat(const StringC &,const StringC &,StringC &)

void cat(const StringC &,const SubStringC &,StringC &)

void cat(const StringC &,const char *,StringC &)

void cat(const StringC &,char,StringC &)

void cat(const SubStringC &,const StringC &,StringC &)

void cat(const SubStringC &,const SubStringC &,StringC &)

void cat(const SubStringC &,const char *,StringC &)

void cat(const SubStringC &,char,StringC &)

void cat(const char *,const StringC &,StringC &)

void cat(const char *,const SubStringC &,StringC &)

void cat(const char *,const char *,StringC &)

void cat(const char *,char,StringC &)
double concatenation, by request. (yes, there are too many versions, but if one is supported, then the others should be too...) Concatenate first 3 args, store in last arg

void cat(const StringC &,const StringC &,const StringC &,StringC &)

void cat(const StringC &,const StringC &,const SubStringC &,StringC &)

void cat(const StringC &,const StringC &,const char *,StringC &)

void cat(const StringC &,const StringC &,char,StringC &)

void cat(const StringC &,const SubStringC &,const StringC &,StringC &)

void cat(const StringC &,const SubStringC &,const SubStringC &,StringC &)

void cat(const StringC &,const SubStringC &,const char *,StringC &)

void cat(const StringC &,const SubStringC &,char,StringC &)

void cat(const StringC &,const char *,const StringC &,StringC &)

void cat(const StringC &,const char *,const SubStringC &,StringC &)

void cat(const StringC &,const char *,const char *,StringC &)

void cat(const StringC &,const char *,char,StringC &)

void cat(const char *,const StringC &,const StringC &,StringC &)

void cat(const char *,const StringC &,const SubStringC &,StringC &)

void cat(const char *,const StringC &,const char *,StringC &)

void cat(const char *,const StringC &,char,StringC &)

void cat(const char *,const SubStringC &,const StringC &,StringC &)

void cat(const char *,const SubStringC &,const SubStringC &,StringC &)

void cat(const char *,const SubStringC &,const char *,StringC &)

void cat(const char *,const SubStringC &,char,StringC &)

void cat(const char *,const char *,const StringC &,StringC &)

void cat(const char *,const char *,const SubStringC &,StringC &)

void cat(const char *,const char *,const char *,StringC &)

void cat(const char *,const char *,char,StringC &)
searching & matching return position of target in string or -1 for failure

int index(char c,int startpos = 0) const

int index(const StringC & y,int startpos = 0) const

int index(const SubStringC & y,int startpos = 0) const

int index(const char * t,int startpos = 0) const

int index(const Regex & r,int startpos = 0) const
return 1 if target appears anyhere in StringC; else 0

int contains(char c) const

int contains(const StringC & y) const

int contains(const SubStringC & y) const

int contains(const char * t) const

int contains(const Regex & r) const
return 1 if target appears anywhere after position pos (or before, if pos is negative) in StringC; else 0

int contains(char c,int pos) const

int contains(const StringC & y,int pos) const

int contains(const SubStringC & y,int pos) const

int contains(const char * t,int pos) const

int contains(const Regex & r,int pos) const
return 1 if target appears at position pos in StringC; else 0

int matches(char c,int pos = 0) const

int matches(const StringC & y,int pos = 0) const

int matches(const SubStringC & y,int pos = 0) const

int matches(const char * t,int pos = 0) const

int matches(const Regex & r,int pos = 0) const

int CaseCmp(const StringC & str) const
case-insensitive comparison of strings (c.f. strcasecmp (3)) i.e. returns 0 if =, -1 if <, +1 if >. return number of occurences of target in StringC

int freq(char c) const

int freq(const StringC & y) const

int freq(const SubStringC & y) const

int freq(const char * t) const
SubStringC extraction Note that you can't take a substring of a const StringC, since this leaves open the possiblility of indirectly modifying the StringC through the SubStringC

SubStringC at(int pos,int len)

SubStringC operator()(int pos,int len)
synonym for at

SubStringC at(const StringC & x,int startpos = 0)

SubStringC at(const SubStringC & x,int startpos = 0)

SubStringC at(const char * t,int startpos = 0)

SubStringC at(char c,int startpos = 0)

SubStringC at(const Regex & r,int startpos = 0)

SubStringC before(int pos)

SubStringC before(const StringC & x,int startpos = 0)

SubStringC before(const SubStringC & x,int startpos = 0)

SubStringC before(const char * t,int startpos = 0)

SubStringC before(char c,int startpos = 0)

SubStringC before(const Regex & r,int startpos = 0)

SubStringC through(int pos)

SubStringC through(const StringC & x,int startpos = 0)

SubStringC through(const SubStringC & x,int startpos = 0)

SubStringC through(const char * t,int startpos = 0)

SubStringC through(char c,int startpos = 0)

SubStringC through(const Regex & r,int startpos = 0)

SubStringC from(int pos)

SubStringC from(const StringC & x,int startpos = 0)

SubStringC from(const SubStringC & x,int startpos = 0)

SubStringC from(const char * t,int startpos = 0)

SubStringC from(char c,int startpos = 0)

SubStringC from(const Regex & r,int startpos = 0)

SubStringC after(int pos)

SubStringC after(const StringC & x,int startpos = 0)

SubStringC after(const SubStringC & x,int startpos = 0)

SubStringC after(const char * t,int startpos = 0)

SubStringC after(char c,int startpos = 0)

SubStringC after(const Regex & r,int startpos = 0)
deletion delete len chars starting at pos

void del(int pos,int len)
delete the first occurrence of target after startpos

void del(const StringC & y,int startpos = 0)

void del(const SubStringC & y,int startpos = 0)

void del(const char * t,int startpos = 0)

void del(char c,int startpos = 0)

void del(const Regex & r,int startpos = 0)
global substitution: substitute all occurrences of pat with repl

int gsub(const StringC & pat,const StringC & repl)

int gsub(const SubStringC & pat,const StringC & repl)

int gsub(const char * pat,const StringC & repl)

int gsub(const char * pat,const char * repl)

int gsub(const Regex & pat,const StringC & repl)
friends & utilities split string into array res at separators; return number of elements

int split(const StringC & x,StringC res[],int maxn,const StringC & sep)

int split(const StringC & x,StringC res[],int maxn,const Regex & sep)

StringC common_prefix(const StringC & x,const StringC & y,int startpos = 0)

StringC common_suffix(const StringC & x,const StringC & y,int startpos = -1)

StringC StrCreplicate(char c,int n)

StringC StrCreplicate(const StringC & y,int n)

StringC StrCreplicateStrC(const StringC & y,int n)

StringC join(StringC src[],int n,const StringC & sep)
simple builtin transformations

StringC reverse(const StringC & x)

StringC upcase(const StringC & x)

StringC downcase(const StringC & x)

StringC capitalize(const StringC & x)
in-place versions of above

void reverse()
Reverse order of charactors in string.

void upcase()
Convert all charactors to upper case.

void downcase()
Convert all charactors to lower case.

void capitalize()
Convert all charactors to upper case ? element extraction

char & operator[](MUIndexT i)

const char & operator[](MUIndexT i) const

char & operator[](IndexT i)

const char & operator[](IndexT i) const

char & operator[](int i)

const char & operator[](int i) const

char elem(int i) const

char firstchar() const

char lastchar() const
conversion

operator const char *() const

const char * chars() const
Convert to old char* strings. IO

ostream & operator<<(ostream & s,const StringC & x)

ostream & operator<<(ostream & s,const SubStringC & x)

istream & operator>>(istream & s,StringC & x)

BinIStreamC & operator>>(BinIStreamC & s,StringC & x)

int readline(istream & s,StringC & x,char terminator = '\n',int discard_terminator = 1)
status

unsigned int length() const
Get length of string.

int empty() const
Test if string is empty.

int IsEmpty() const
More AMMA like test.

void alloc(int newsize)
preallocate some space for StringC

int allocation() const
report current allocation (not length!) Amma compatability...

SizeT Size() const
Get size of string. inline operator char *(); Convert to plain 'C' style string.

void error(const char * msg)
Print error message.

int OK() const
Check it valid.

StringC TopAndTail() const
Remove while space from begining and end of string.


Programmer:Based on GNU code by Doug Lea, Modified by Charles Galambos, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001