📄 p784.c
字号:
inline void String::operator=(char c){ rep = Salloc(rep, &c, 1, 1);}inline void SubString::operator = (const char* ys){ assign(0, ys);}inline void SubString::operator = (char ch){ assign(0, &ch, 1);}inline void SubString::operator = (const String& y){ assign(y.rep, y.chars(), y.length());}inline void SubString::operator = (const SubString& y){ assign(y.S.rep, y.chars(), y.length());}// Zillions of cats...inline void cat(const String& x, const String& y, String& r){ r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());}inline void cat(const String& x, const SubString& y, String& r){ r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());}inline void cat(const String& x, const char* y, String& r){ r.rep = Scat(r.rep, x.chars(), x.length(), y, -1);}inline void cat(const String& x, char y, String& r){ r.rep = Scat(r.rep, x.chars(), x.length(), &y, 1);}inline void cat(const SubString& x, const String& y, String& r){ r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());}inline void cat(const SubString& x, const SubString& y, String& r){ r.rep = Scat(r.rep, x.chars(), x.length(), y.chars(), y.length());}inline void cat(const SubString& x, const char* y, String& r){ r.rep = Scat(r.rep, x.chars(), x.length(), y, -1);}inline void cat(const SubString& x, char y, String& r){ r.rep = Scat(r.rep, x.chars(), x.length(), &y, 1);}inline void cat(const char* x, const String& y, String& r){ r.rep = Scat(r.rep, x, -1, y.chars(), y.length());}inline void cat(const char* x, const SubString& y, String& r){ r.rep = Scat(r.rep, x, -1, y.chars(), y.length());}inline void cat(const char* x, const char* y, String& r){ r.rep = Scat(r.rep, x, -1, y, -1);}inline void cat(const char* x, char y, String& r){ r.rep = Scat(r.rep, x, -1, &y, 1);}inline void cat(const String& a, const String& x, const String& y, String& r){ r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());}inline void cat(const String& a, const String& x, const SubString& y, String& r){ r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());}inline void cat(const String& a, const String& x, const char* y, String& r){ r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y, -1);}inline void cat(const String& a, const String& x, char y, String& r){ r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), &y, 1);}inline void cat(const String& a, const SubString& x, const String& y, String& r){ r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());}inline void cat(const String& a, const SubString& x, const SubString& y, String& r){ r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y.chars(), y.length());}inline void cat(const String& a, const SubString& x, const char* y, String& r){ r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), y, -1);}inline void cat(const String& a, const SubString& x, char y, String& r){ r.rep = Scat(r.rep, a.chars(), a.length(), x.chars(), x.length(), &y, 1);}inline void cat(const String& a, const char* x, const String& y, String& r){ r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, y.chars(), y.length());}inline void cat(const String& a, const char* x, const SubString& y, String& r){ r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, y.chars(), y.length());}inline void cat(const String& a, const char* x, const char* y, String& r){ r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, y, -1);}inline void cat(const String& a, const char* x, char y, String& r){ r.rep = Scat(r.rep, a.chars(), a.length(), x, -1, &y, 1);}inline void cat(const char* a, const String& x, const String& y, String& r){ r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());}inline void cat(const char* a, const String& x, const SubString& y, String& r){ r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());}inline void cat(const char* a, const String& x, const char* y, String& r){ r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y, -1);}inline void cat(const char* a, const String& x, char y, String& r){ r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), &y, 1);}inline void cat(const char* a, const SubString& x, const String& y, String& r){ r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());}inline void cat(const char* a, const SubString& x, const SubString& y, String& r){ r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y.chars(), y.length());}inline void cat(const char* a, const SubString& x, const char* y, String& r){ r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), y, -1);}inline void cat(const char* a, const SubString& x, char y, String& r){ r.rep = Scat(r.rep, a, -1, x.chars(), x.length(), &y, 1);}inline void cat(const char* a, const char* x, const String& y, String& r){ r.rep = Scat(r.rep, a, -1, x, -1, y.chars(), y.length());}inline void cat(const char* a, const char* x, const SubString& y, String& r){ r.rep = Scat(r.rep, a, -1, x, -1, y.chars(), y.length());}inline void cat(const char* a, const char* x, const char* y, String& r){ r.rep = Scat(r.rep, a, -1, x, -1, y, -1);}inline void cat(const char* a, const char* x, char y, String& r){ r.rep = Scat(r.rep, a, -1, x, -1, &y, 1);}// operator versionsinline void String::operator +=(const String& y){ cat(*this, y, *this);}inline void String::operator +=(const SubString& y){ cat(*this, y, *this);}inline void String::operator += (const char* y){ cat(*this, y, *this);}inline void String:: operator +=(char y){ cat(*this, y, *this);}// constructive concatenationinline String operator + (const String& x, const String& y) return r;{ cat(x, y, r);}inline String operator + (const String& x, const SubString& y) return r;{ cat(x, y, r);}inline String operator + (const String& x, const char* y) return r;{ cat(x, y, r);}inline String operator + (const String& x, char y) return r;{ cat(x, y, r);}inline String operator + (const SubString& x, const String& y) return r;{ cat(x, y, r);}inline String operator + (const SubString& x, const SubString& y) return r;{ cat(x, y, r);}inline String operator + (const SubString& x, const char* y) return r;{ cat(x, y, r);}inline String operator + (const SubString& x, char y) return r;{ cat(x, y, r);}inline String operator + (const char* x, const String& y) return r;{ cat(x, y, r);}inline String operator + (const char* x, const SubString& y) return r;{ cat(x, y, r);}inline String reverse(const String& x) return r;{ r.rep = Sreverse(x.rep, r.rep);}inline String upcase(const String& x) return r;{ r.rep = Supcase(x.rep, r.rep);}inline String downcase(const String& x) return r;{ r.rep = Sdowncase(x.rep, r.rep);}inline String capitalize(const String& x) return r;{ r.rep = Scapitalize(x.rep, r.rep);}//# 883 "/projects/gnu-cygnus/gnu-cygnus-8/common/g++-include/String.h"// prependinline void String::prepend(const String& y){ rep = Sprepend(rep, y.chars(), y.length());}inline void String::prepend(const char* y){ rep = Sprepend(rep, y, -1);}inline void String::prepend(char y){ rep = Sprepend(rep, &y, 1);}inline void String::prepend(const SubString& y){ rep = Sprepend(rep, y.chars(), y.length());}// misc transformationsinline void String::reverse(){ rep = Sreverse(rep, rep);}inline void String::upcase(){ rep = Supcase(rep, rep);}inline void String::downcase(){ rep = Sdowncase(rep, rep);}inline void String::capitalize(){ rep = Scapitalize(rep, rep);}// element extractioninline char& String::operator [] (int i){ if (((unsigned)i) >= length()) error("invalid index"); return rep->s[i];}inline char String::elem (int i) const{ if (((unsigned)i) >= length()) error("invalid index"); return rep->s[i];}inline char String::firstchar() const{ return elem(0);}inline char String::lastchar() const{ return elem(length() - 1);}// searchinginline int String::index(char c, int startpos) const{ return search(startpos, length(), c);}inline int String::index(const char* t, int startpos) const{ return search(startpos, length(), t);}inline int String::index(const String& y, int startpos) const{ return search(startpos, length(), y.chars(), y.length());}inline int String::index(const SubString& y, int startpos) const{ return search(startpos, length(), y.chars(), y.length());}inline int String::index(const Regex& r, int startpos) const{ int unused; return r.search(chars(), length(), unused, startpos);}inline int String::contains(char c) const{ return search(0, length(), c) >= 0;}inline int String::contains(const char* t) const{ return search(0, length(), t) >= 0;}inline int String::contains(const String& y) const{ return search(0, length(), y.chars(), y.length()) >= 0;}inline int String::contains(const SubString& y) const{ return search(0, length(), y.chars(), y.length()) >= 0;}inline int String::contains(char c, int p) const{ return match(p, length(), 0, &c, 1) >= 0;}inline int String::contains(const char* t, int p) const{ return match(p, length(), 0, t) >= 0;}inline int String::contains(const String& y, int p) const{ return match(p, length(), 0, y.chars(), y.length()) >= 0;}inline int String::contains(const SubString& y, int p) const{ return match(p, length(), 0, y.chars(), y.length()) >= 0;}inline int String::contains(const Regex& r) const{ int unused; return r.search(chars(), length(), unused, 0) >= 0;}inline int String::contains(const Regex& r, int p) const{ return r.match(chars(), length(), p) >= 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -