⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 string.h

📁 ac3的解码程序
💻 H
📖 第 1 页 / 共 3 页
字号:
  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 const char&  String::operator [] (int i) const{   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;}inline int String::matches(const SubString& y, int p) const{  return match(p, length(), 1, y.chars(), y.length()) >= 0;}inline int String::matches(const String& y, int p) const{  return match(p, length(), 1, y.chars(), y.length()) >= 0;}inline int String::matches(const char* t, int p) const{  return match(p, length(), 1, t) >= 0;}inline int String::matches(char c, int p) const{  return match(p, length(), 1, &c, 1) >= 0;}inline int String::matches(const Regex& r, int p) const{  int l = (p < 0)? -p : length() - p;  return r.match(chars(), length(), p) == l;}inline int SubString::contains(const char* t) const{     return S.search(pos, pos+len, t) >= 0;}inline int SubString::contains(const String& y) const{     return S.search(pos, pos+len, y.chars(), y.length()) >= 0;}inline int SubString::contains(const SubString&  y) const{     return S.search(pos, pos+len, y.chars(), y.length()) >= 0;}inline int SubString::contains(char c) const{  return S.search(pos, pos+len, c) >= 0;}inline int SubString::contains(const Regex& r) const{  int unused;  return r.search(chars(), len, unused, 0) >= 0;}inline int SubString::matches(const Regex& r) const{  return r.match(chars(), len, 0) == len;}inline int String::gsub(const String& pat, const String& r){  return _gsub(pat.chars(), pat.length(), r.chars(), r.length());}inline int String::gsub(const SubString&  pat, const String& r){  return _gsub(pat.chars(), pat.length(), r.chars(), r.length());}inline int String::gsub(const Regex& pat, const String& r){  return _gsub(pat, r.chars(), r.length());}inline int String::gsub(const char* pat, const String& r){  return _gsub(pat, -1, r.chars(), r.length());}inline int String::gsub(const char* pat, const char* r){  return _gsub(pat, -1, r, -1);}inline  ostream& operator<<(ostream& s, const String& x){   s << x.chars(); return s;}// a zillion comparison operatorsinline int operator==(const String& x, const String& y) {  return compare(x, y) == 0; }inline int operator!=(const String& x, const String& y){  return compare(x, y) != 0; }inline int operator>(const String& x, const String& y){  return compare(x, y) > 0; }inline int operator>=(const String& x, const String& y){  return compare(x, y) >= 0; }inline int operator<(const String& x, const String& y){  return compare(x, y) < 0; }inline int operator<=(const String& x, const String& y){  return compare(x, y) <= 0; }inline int operator==(const String& x, const SubString&  y) {  return compare(x, y) == 0; }inline int operator!=(const String& x, const SubString&  y){  return compare(x, y) != 0; }inline int operator>(const String& x, const SubString&  y)      {  return compare(x, y) > 0; }inline int operator>=(const String& x, const SubString&  y){  return compare(x, y) >= 0; }inline int operator<(const String& x, const SubString&  y) {  return compare(x, y) < 0; }inline int operator<=(const String& x, const SubString&  y){  return compare(x, y) <= 0; }inline int operator==(const String& x, const char* t) {  return compare(x, t) == 0; }inline int operator!=(const String& x, const char* t) {  return compare(x, t) != 0; }inline int operator>(const String& x, const char* t)  {  return compare(x, t) > 0; }inline int operator>=(const String& x, const char* t) {  return compare(x, t) >= 0; }inline int operator<(const String& x, const char* t)  {  return compare(x, t) < 0; }inline int operator<=(const String& x, const char* t) {  return compare(x, t) <= 0; }inline int operator==(const SubString& x, const String& y) {  return compare(y, x) == 0; }inline int operator!=(const SubString& x, const String& y){  return compare(y, x) != 0;}inline int operator>(const SubString& x, const String& y)      {  return compare(y, x) < 0;}inline int operator>=(const SubString& x, const String& y)     {  return compare(y, x) <= 0;}inline int operator<(const SubString& x, const String& y)      {  return compare(y, x) > 0;}inline int operator<=(const SubString& x, const String& y)     {  return compare(y, x) >= 0;}inline int operator==(const SubString& x, const SubString&  y) {  return compare(x, y) == 0; }inline int operator!=(const SubString& x, const SubString&  y){  return compare(x, y) != 0;}inline int operator>(const SubString& x, const SubString&  y)      {  return compare(x, y) > 0;}inline int operator>=(const SubString& x, const SubString&  y){  return compare(x, y) >= 0;}inline int operator<(const SubString& x, const SubString&  y) {  return compare(x, y) < 0;}inline int operator<=(const SubString& x, const SubString&  y){  return compare(x, y) <= 0;}inline int operator==(const SubString& x, const char* t) {  return compare(x, t) == 0; }inline int operator!=(const SubString& x, const char* t) {  return compare(x, t) != 0;}inline int operator>(const SubString& x, const char* t)  {  return compare(x, t) > 0; }inline int operator>=(const SubString& x, const char* t) {  return compare(x, t) >= 0; }inline int operator<(const SubString& x, const char* t)  {  return compare(x, t) < 0; }inline int operator<=(const SubString& x, const char* t) {  return compare(x, t) <= 0; }// a helper needed by at, before, etc.inline SubString String::_substr(int first, int l){  if (first < 0 || (unsigned)(first + l) > length() )    return SubString(_nilString, 0, 0) ;  else     return SubString(*this, first, l);}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -