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

📄 string.h

📁 ac3的解码程序
💻 H
📖 第 1 页 / 共 3 页
字号:
inline SubString::SubString(String& x, int first, int l)  :S(x), pos(first), len(l) {}inline SubString::~SubString() {}// assignmentinline String& String::operator =  (const String& y){   rep = Scopy(rep, y.rep);  return *this;}inline String& String::operator=(const char* t){  rep = Salloc(rep, t, -1, -1);  return *this;}inline String& String::operator=(const SubString&  y){  rep = Salloc(rep, y.chars(), y.length(), y.length());  return *this;}inline String& String::operator=(char c){  rep = Salloc(rep, &c, 1, 1);  return *this;}inline SubString& SubString::operator = (const char* ys){  assign(0, ys);  return *this;}inline SubString& SubString::operator = (char ch){  assign(0, &ch, 1);  return *this;}inline SubString& SubString::operator = (const String& y){  assign(y.rep, y.chars(), y.length());  return *this;}inline SubString& SubString::operator = (const SubString& y){  assign(y.S.rep, y.chars(), y.length());  return *this;}// 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 String& String::operator +=(const String& y){  cat(*this, y, *this);  return *this;}inline String& String::operator +=(const SubString& y){  cat(*this, y, *this);  return *this;}inline String& String::operator += (const char* y){  cat(*this, y, *this);  return *this;}inline String& String:: operator +=(char y){  cat(*this, y, *this);  return *this;}// constructive concatenation#if defined(__GNUG__) && !defined(_G_NO_NRV)inline 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);}#else /* NO_NRV */inline String operator + (const String& x, const String& y){  String r;  cat(x, y, r);  return r;}inline String operator + (const String& x, const SubString& y) {  String r; cat(x, y, r); return r;}inline String operator + (const String& x, const char* y) {  String r; cat(x, y, r); return r;}inline String operator + (const String& x, char y) {  String r; cat(x, y, r); return r;}inline String operator + (const SubString& x, const String& y) {  String r; cat(x, y, r); return r;}inline String operator + (const SubString& x, const SubString& y) {  String r; cat(x, y, r); return r;}inline String operator + (const SubString& x, const char* y) {  String r; cat(x, y, r); return r;}inline String operator + (const SubString& x, char y) {  String r; cat(x, y, r); return r;}inline String operator + (const char* x, const String& y) {  String r; cat(x, y, r); return r;}inline String operator + (const char* x, const SubString& y) {  String r; cat(x, y, r); return r;}inline String reverse(const String& x) {  String r; r.rep = Sreverse(x.rep, r.rep); return r;}inline String upcase(const String& x) {  String r; r.rep = Supcase(x.rep, r.rep); return r;}inline String downcase(const String& x) {  String r; r.rep = Sdowncase(x.rep, r.rep); return r;}inline String capitalize(const String& x) {  String r; r.rep = Scapitalize(x.rep, r.rep); return r;}#endif// 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){

⌨️ 快捷键说明

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