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

📄 ck_str.cpp

📁 一个不错
💻 CPP
📖 第 1 页 / 共 5 页
字号:
 {  WyStr tmp;  size_t cap=tmp._capacity();  CHK_DEFAULT(tmp);  if((r=tmp.append('f'))!=Ok) {    WY_THROW(r);  }  if(cap!=tmp._capacity()) {    WY_THROW(WyRet() );  // capacity should no have changed  }  if(tmp._reserve(cap)!=Ok) {    WY_THROW(WyRet() );  // capacity should no have changed  }  if(cap!=tmp._capacity()) {    WY_THROW(WyRet() );  // capacity should no have changed  }  // double tmp's capacity  if(tmp._reserve(cap+cap)!=Ok) {    WY_THROW(WyRet() );  }  if(cap==tmp._capacity()) {    WY_THROW(WyRet() );  }  WyStr(tmp).swap(tmp);  if(cap!=tmp._capacity()) {    WY_THROW(WyRet() );  }  {   const char* obuf=tmp.data();   size_t cap2=tmp._capacity();   for(size_t i=tmp.size(); i<cap2; ++i) {     if((r=tmp.append('x'))!=Ok) {       WY_THROW(r);     }   }   if(tmp._capacity()!=cap2) {     WY_THROW(WyRet() );   }   if(tmp.data()!=obuf) {     WY_THROW(WyRet() );   }  } } // find(size_t*,char) {  const WyStr tmp;  size_t res;  res=100;  if(tmp.find(&res,'a')==true) {    WY_THROW(WyRet() );  }   const WyStr tmp1("ppooiiuuyy\xaa");  if(tmp1.find(&res,'p')==false) {    WY_THROW(WyRet() );  }  if(res!=0) {    WY_THROW(WyRet() );  }  if(tmp1.find(&res,'i')==false) {    WY_THROW(WyRet() );  }  if(res!=4) {    WY_THROW(WyRet() );  }  if(tmp1.find(&res,'y')==false) {    WY_THROW(WyRet() );  }  if(res!=8) {    WY_THROW(WyRet() );  }  if(tmp1.find(&res,'#')==true) {    WY_THROW(WyRet() );  }  if(res!=8) {    WY_THROW(WyRet() );  }  if(tmp1.find(&res,'\xaa')==false) {    WY_THROW(WyRet() );  }  if(res!=10) {    WY_THROW(WyRet() );  }  if(tmp1.find(&res,'\x2a')==true) {    WY_THROW(WyRet() );  }  if(res!=10) {    WY_THROW(WyRet() );  } }#ifdef WY_DEBUG // chk the result of std::find(char) consistent with the test above {  const std::string tmp;  size_t res;  res=100;  if((res=tmp.find('a'))!=StdNPos) {    WY_THROW(WyRet() );  }   const std::string tmp1("ppooiiuuyy");  if((res=tmp1.find('p'))==StdNPos) {    WY_THROW(WyRet() );  }  if(res!=0) {    WY_THROW(WyRet() );  }  if((res=tmp1.find('i'))==StdNPos) {    WY_THROW(WyRet() );  }  if(res!=4) {    WY_THROW(WyRet() );  }  if((res=tmp1.find('y'))==StdNPos) {    WY_THROW(WyRet() );  }  if(res!=8) {    WY_THROW(WyRet() );  }  if((res=tmp1.find('#'))!=StdNPos) {    WY_THROW(WyRet() );  } }#endif // rfind(size_t*,char) {  const WyStr tmp;  size_t res;  res=100;  if(tmp.rfind(&res,'a')==true) {    WY_THROW(WyRet() );  }   const WyStr tmp1("ppooiiuuyy");  if(tmp1.rfind(&res,'p')==false) {    WY_THROW(WyRet() );  }  if(res!=1) {    WY_THROW(WyRet() );  }  if(tmp1.rfind(&res,'i')==false) {    WY_THROW(WyRet() );  }  if(res!=5) {    WY_THROW(WyRet() );  }  if(tmp1.rfind(&res,'y')==false) {    WY_THROW(WyRet() );  }  if(res!=9) {    WY_THROW(WyRet() );  }  if(tmp1.rfind(&res,'#')==true) {    WY_THROW(WyRet() );  }  if(res!=9) {    WY_THROW(WyRet() );  } }#ifdef WY_DEBUG // std::string chk for rfind(size_t*,char) {  const std::string tmp;  size_t res;  res=100;  if((res=tmp.rfind('a'))!=StdNPos) {    WY_THROW(WyRet() );  }   const std::string tmp1("ppooiiuuyy");  if((res=tmp1.rfind('p'))==StdNPos) {    WY_THROW(WyRet() );  }  if(res!=1) {    WY_THROW(WyRet() );  }  if((res=tmp1.rfind('i'))==StdNPos) {    WY_THROW(WyRet() );  }  if(res!=5) {    WY_THROW(WyRet() );  }  if((res=tmp1.rfind('y'))==StdNPos) {    WY_THROW(WyRet() );  }  if(res!=9) {    WY_THROW(WyRet() );  }  if((res=tmp1.rfind('#'))!=StdNPos) {    WY_THROW(WyRet() );  } }#endif // find(size_t*,size_t,char) {  const WyStr tmp;  size_t res;  res=100;  if(tmp.find(&res,0,'a')==true) {    WY_THROW(WyRet() );  }  if(res!=100) {    WY_THROW(WyRet() );  }  const WyStr tmp1("rstuvwyyz");  res=100;  if(tmp1.find(0,0,'s')==false) {    WY_THROW(WyRet() );  }  if(tmp1.find(&res,0,'s')==false) {    WY_THROW(WyRet() );  }  if(res!=1) {    WY_THROW(WyRet() );  }    int i;  for(i=0; tmp1.find(&res,i,tmp1[tmp1.size()-1]); ++i,++res) {    if(res!=tmp1.size()-1) {      WY_THROW(WyRet() );    }  };  if(i!=int(tmp1.size())) {    WY_THROW(WyRet() );  }  for(i=0; i<int(tmp1.size()); ++i) {    if(tmp1.find(&res,i,'#')) {      WY_THROW(WyRet() );    }  }; }#ifdef WY_DEBUG // chk find(size_t*,size_t,char), std::string version {  const std::string tmp;  size_t res;  res=100;  if((res=tmp.find('a',0))!=StdNPos) {    WY_THROW(WyRet() );  }  const std::string tmp1("rstuvwyyz");  res=100;  if((res=tmp1.find('s',0))==StdNPos) {    WY_THROW(WyRet() );  }  if((res=tmp1.find('s',0))==StdNPos) {    WY_THROW(WyRet() );  }  if(res!=1) {    WY_THROW(WyRet() );  }    int i;  for(i=0; i<int(tmp1.size()); ++i) {    if((res=tmp1.find('#',i))!=StdNPos) {      WY_THROW(WyRet() );    }  }; }#endif // rfind(size_t*,size_t,ch) {  const WyStr tmp;  size_t res;  res=100;  if(tmp.rfind(&res,0,'a')==true) {    WY_THROW(WyRet() );  }  if(res!=100) {    WY_THROW(WyRet() );  }  const WyStr tmp1("rstuvwyyz");  res=100;  if(tmp1.rfind(0,100,'s')==false) {    WY_THROW(WyRet() );  }  if(tmp1.rfind(&res,100,'s')==false) {    WY_THROW(WyRet() );  }  if(res!=1) {    WY_THROW(WyRet() );  }    int i;  for(res=tmp1.size()-1,i=tmp1.size()-1; (i>=0)&&(tmp1.rfind(&res,100,tmp1[res])); --i,--res) {    if(i!=int(res)) {      if(int(res)<i) {        WY_THROW(WyRet() );      }      if(tmp1[res]!='y') {   // we have 2 y's        WY_THROW(WyRet() );      }    }  };  //if(res>=tmp1.size()) {  //  WY_THROW(WyRet() );  //}  for(res=tmp1.size()-1,i=tmp1.size()-1; (i>=0)&&(tmp1.rfind(&res,res,tmp1[res])); --i,--res) {    if(i!=int(res)) {      WY_THROW(WyRet() );    }  };  //if(res>=tmp1.size()) {  //  WY_THROW(WyRet() );  //}  for(i=0; i<int(tmp1.size()); ++i) {    if(tmp1.rfind(&res,i,'#')) {      WY_THROW(WyRet() );    }  }; }#ifdef WY_DEBUG // rfind(size_t*,size_t,ch) chk std::string version {  const std::string tmp;  size_t res;  res=100;  if((res=tmp.rfind('a',0))!=StdNPos) {    WY_THROW(WyRet() );  }  const std::string tmp1("rstuvwyyz");  res=100;  if((res=tmp1.rfind('s',100))==StdNPos) {    WY_THROW(WyRet() );  }  if((res=tmp1.rfind('s',100))==StdNPos) {    WY_THROW(WyRet() );  }  if(res!=1) {    WY_THROW(WyRet() );  }    int i;  for(i=0; i<int(tmp1.size()); ++i) {    if((res=tmp1.rfind('#',i))!=StdNPos) {      WY_THROW(WyRet() );    }  }; }#endif // find(size_t*,size_t,const char*,size_t) {  const WyStr tmp;  size_t res;  res=100;  if(tmp.find(&res,0, WyCSeg("a",size_t(0)))==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  if(tmp.find(&res,0, WyCSeg("a",1))==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  const WyStr tmp1("rstuwywyyz");  res=100;  if(tmp1.find(0,0, WyCSeg("wy",2))==false) {    WY_THROW( WyRet() );  }  if(tmp1.find(&res,0, WyCSeg("wy",2))==false) {    WY_THROW( WyRet() );  }  if(res!=4) {    WY_THROW( WyRet() );  }    int i;  for(i=0; tmp1.find(&res,i,WyCSeg(&tmp1[tmp1.size()-2],2)); ++i,++res) {    if(res!=tmp1.size()-2) {      WY_THROW( WyRet() );    }  };  if(i!=int(tmp1.size())-1) {    WY_THROW( WyRet() );  }  for(i=0; i<int(tmp1.size()); ++i) {    if(tmp1.find(&res,i, WyCSeg("#",1))) {      WY_THROW( WyRet() );    }  }; } // find(size_t*,size_t,const char*) {  const WyStr tmp;  size_t res;  res=100;  if(tmp.find(&res,0,"")==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  if(tmp.find(&res,0,"a")==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  const WyStr tmp1("rstuwywyyz");  res=100;  if(tmp1.find(0,0,"wy")==false) {    WY_THROW( WyRet() );  }  if(tmp1.find(&res,0,"wy")==false) {    WY_THROW( WyRet() );  }  if(res!=4) {    WY_THROW( WyRet() );  }    for(int i=0; i<int(tmp1.size()); ++i) {    if(tmp1.find(&res,i,"#")) {      WY_THROW( WyRet() );    }  }; } // find(size_t*,const WyCSeg&) {  const WyStr tmp;  size_t res;  res=100;  if(tmp.find(&res,"")==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  if(tmp.find(&res,"a")==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  const WyStr tmp1("rstuwywyyz");  res=100;  if(tmp1.find(0,"wy")==false) {    WY_THROW( WyRet() );  }  if(tmp1.find(&res,"wy")==false) {    WY_THROW( WyRet() );  }  if(res!=4) {    WY_THROW( WyRet() );  } } // rfind(size_t*,size_t,const char*,size_t) {  const WyStr tmp;  size_t res;  res=100;  CHK_DEFAULT(tmp);  if(tmp.rfind(&res,0, WyCSeg("a",size_t(0)))==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  if(tmp.rfind(&res,0, WyCSeg("a",1))==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  const WyStr tmp1("rstuwywyyz");  res=100;  if(tmp1.rfind(0,100, WyCSeg("wy",2))==false) {    WY_THROW( WyRet() );  }  if(tmp1.rfind(&res,100, WyCSeg("wy",2))==false) {    WY_THROW( WyRet() );  }  if(res!=6) {    WY_THROW( WyRet() );  }    for(int i=0; i<int(tmp1.size()); ++i) {    if(tmp1.rfind(&res,i, WyCSeg("#",1))) {      WY_THROW( WyRet() );    }  }; } // rfind(size_t*,size_t,const char*) {  const WyStr tmp;  size_t res;  res=100;  if(tmp.rfind(&res,0,"")==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  if(tmp.rfind(&res,0,"a")==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  const WyStr tmp1("rstuwywyyz");  res=100;  if(tmp1.rfind(0,100,"wy")==false) {    WY_THROW( WyRet() );  }  if(tmp1.rfind(&res,100,"wy")==false) {    WY_THROW( WyRet() );  }  if(res!=6) {    WY_THROW( WyRet() );  }    for(int i=0; i<int(tmp1.size()); ++i) {    if(tmp1.rfind(&res,i, WyCSeg("#",1))) {      WY_THROW( WyRet() );    }  }; } // rfind(size_t*,const WyCSeg&) {  const WyStr tmp;  size_t res;  res=100;  if(tmp.rfind(&res,"")==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  if(tmp.rfind(&res,"a")==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  const WyStr tmp1("rstuwywyyz");  res=100;  if(tmp1.rfind(0,"wy")==false) {    WY_THROW( WyRet() );  }  if(tmp1.rfind(&res,"wy")==false) {    WY_THROW( WyRet() );  }  if(res!=6) {    WY_THROW( WyRet() );  } } // r/_find_not(size_t*,size_t,char) {  WyStr tmp;  size_t res;  res=100;  if(tmp.find_not(&res,0,'a')==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  if(tmp.rfind_not(&res,0,'a')==true) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  tmp="0X0X000\xaaGGGG";  if(tmp.find_not(&res,0,'0')==false) {    WY_THROW( WyRet() );  }  if(res!=1) {    WY_THROW( WyRet() );  }  if(tmp.find_not(&res,res+1,'0')==false) {    WY_THROW( WyRet() );  }  if(res!=3) {    WY_THROW( WyRet() );  }  if(tmp.find_not(&res,res+1,'0')==false) {    WY_THROW( WyRet() );  }  if(res!=7) {    WY_THROW( WyRet() );  }  res=100;  if(tmp.rfind_not(&res,tmp.size()+1,'G')==false) {    WY_THROW( WyRet() );  }  if(res!=7) {    WY_THROW( WyRet() );  }  if(tmp.rfind_not(&res,res-1,'0')==false) {    WY_THROW( WyRet() );  }  if(res!=3) {    WY_THROW( WyRet() );  }  if(tmp.rfind_not(&res,res-1,'0')==false) {    WY_THROW( WyRet() );  }  if(res!=1) {    WY_THROW( WyRet() );  }  if(tmp.rfind_not(&res,res-1,'0')==true) {    WY_THROW( WyRet() );  }  if(res!=1) {    WY_THROW( WyRet() );  } } // _find_not(size_t*,size_t,const WyCSeg) {  WyStr tmp;  size_t res;  res=100;  if(tmp._find_not(&res,0,WyCSeg())!=false) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  tmp+='a';  if(tmp._find_not(&res,0,WyCSeg())!=true) {    WY_THROW( WyRet() );  }  if(res!=0) {    WY_THROW( WyRet() );  }  tmp=" 	 \n \r 123abc\xaa";  if(tmp._find_not(&res,0,WyCSeg(" 	\r\n"))!=true) {    WY_THROW( WyRet() );  }  if(res!=7) {    WY_THROW( WyRet() );  }  res=100;  if(tmp._find_not(&res,7,WyCSeg(" 	\r\n"))!=true) {    WY_THROW( WyRet() );  }  if(res!=7) {    WY_THROW( WyRet() );  }  res=100;  if(tmp._find_not(&res,0,WyCSeg("	 \r\n123"))!=true) {    WY_THROW( WyRet() );  }  if(res!=10) {    WY_THROW( WyRet() );  }  res=100;  if(tmp._find_not(&res,0,WyCSeg("	 \r\n123abc"))!=true) {    WY_THROW( WyRet() );  }  if(res!=13) {    WY_THROW( WyRet() );  }  res=100;  if(tmp._find_not(&res,0,tmp.cseg())!=false) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  } } // _rfind_not(size_t*,size_t,const WyCSeg) {  WyStr tmp;  size_t res;  res=100;  if(tmp._rfind_not(&res,9,WyCSeg())!=false) {    WY_THROW( WyRet() );  }  if(res!=100) {    WY_THROW( WyRet() );  }  tmp+='a';  if(tmp._rfind_not(&res,9,WyCSeg())!=true) {    WY_THROW( WyRet() );  }  if(res!=0) {    WY_THROW( WyRet() );  }  tmp="123abc	 \n \r ";  if(tmp._rfind_not(&res,99,WyCSeg(" 	\r\n"))!=true) {    WY_THROW( WyRet() );  }  if(res!=5) {    WY_THROW( WyRet() );  }  res=100;  if(tmp._rfind_not(&res,5,WyCSeg(" 	\r\n"))!=true) {    WY_THROW( WyRet() );  }  if(res!=5) {    WY_THROW( WyRet() );  }  res=100;  if(tmp._rfind_not(&res,99,WyCSeg("	 \r\nabc"))!=true) {    WY_THROW( WyRet() );  }  if(res!=2) {    WY_THROW( WyRet() );  }  res=100;  if(tmp._rfind_not(&res,99,tmp.cseg())!=false) {    WY_THROW( WyRet() );  }

⌨️ 快捷键说明

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