📄 ck_array.h
字号:
size_t cap( (tmp._capacity()<<1)+1 ); for(size_t i=0; i<cap; ++i) { tmp.push_back(EleType()); } if(tmp.size()!=cap) { WY_THROW( WyRet() ); } while(tmp.size()) { tmp.pop_back(); }; if(tmp.is_default()==false) { WY_THROW( WyRet() ); } } // chk erase(size_t,size_t) { Wy_Array<EleType> tmp; WY__CK_ARRAY_CHK_DEFAULT(tmp); tmp.erase(0,1); WY__CK_ARRAY_CHK_DEFAULT(tmp); size_t cap( (tmp._capacity()<<1)+1 ); for(size_t i=0; i<cap; ++i) { tmp.push_back( EleType() ); } if(tmp.size()!=cap) { WY_THROW( WyRet() ); } size_t rsize=tmp.size(); tmp.erase(tmp.size(),100); if(tmp.size()!=rsize) { WY_THROW( WyRet() ); } tmp.erase(tmp.size()-1,0); if(tmp.size()!=rsize) { WY_THROW( WyRet() ); } tmp.erase(0,tmp.size()); if(tmp.size()!=0) { WY_THROW( WyRet() ); } rsize=tmp.size(); try { tmp.erase(tmp.size()+1,1); WY_THROW( WyRet() ); } catch(const typename Wy_Array<EleType>::Reply& e) { if(e!=Wym_EINVAL) { WY_THROW( WyRet() ); } }; if(tmp.size()!=rsize) { WY_THROW( WyRet() ); } } // chk erase(size_t, BigNum) { Wy_Array<EleType> tmp; WY__CK_ARRAY_CHK_DEFAULT(tmp); tmp.resize(4); if(tmp.size()!=4) { WY_THROW( WyRet() ); } Wy_Array<EleType> tmp_cpy(tmp); if(tmp!=tmp_cpy) { WY_THROW( WyRet() ); } try { tmp.erase(tmp.size()+1,999); WY_THROW( WyRet() ); } catch(const typename Wy_Array<EleType>::Reply& e) { if(tmp!=tmp_cpy) { WY_THROW( WyRet() ); } if(e!=Wym_EINVAL) { WY_THROW( WyRet(e) ); } } catch(...) { WY_THROW( WyRet() ); }; tmp.erase(tmp.size(),999); if(tmp!=tmp_cpy) { WY_THROW( WyRet() ); } tmp.erase(tmp_cpy.size()-1,999); if(tmp.size()!=tmp_cpy.size()-1) { WY_THROW( WyRet() ); } tmp.erase(0,999); if(tmp.size()!=0) { WY_THROW( WyRet() ); } } // chk insert(size_t, const EleType&) { Wy_Array<EleType> tmp; WY__CK_ARRAY_CHK_DEFAULT(tmp); tmp.insert(0,EleType()); if(tmp.size()!=1) { WY_THROW( WyRet() ); } tmp.insert(0,EleType()); if(tmp.size()!=2) { WY_THROW( WyRet() ); } tmp.insert(0,EleType()); if(tmp.size()!=3) { WY_THROW( WyRet() ); } tmp.insert(1,EleType()); if(tmp.size()!=4) { WY_THROW( WyRet() ); } tmp.insert(tmp.size()-1,EleType()); if(tmp.size()!=5) { WY_THROW( WyRet() ); } tmp.insert(tmp.size(),EleType()); if(tmp.size()!=6) { WY_THROW( WyRet() ); } try { tmp.insert(tmp.size()+1,EleType()); WY_THROW( WyRet() ); } catch(const typename Wy_Array<EleType>::Reply& e) { if(e!=Wym_EINVAL) { WY_THROW( WyRet() ); } }; if(tmp.size()!=6) { WY_THROW( WyRet() ); } } // chk insert(size_t,size_t,const EleType&) { Wy_Array<EleType> tmp; WY__CK_ARRAY_CHK_DEFAULT(tmp); tmp.insert(0,0,EleType()); WY__CK_ARRAY_CHK_DEFAULT(tmp); tmp.insert(0,1,EleType()); if(tmp.size()!=1) { WY_THROW( WyRet() ); } tmp.insert(0,2,EleType()); if(tmp.size()!=3) { WY_THROW( WyRet() ); } tmp.insert(1,2,EleType()); if(tmp.size()!=5) { WY_THROW( WyRet() ); } tmp.insert(tmp.size(),2,EleType()); if(tmp.size()!=7) { WY_THROW( WyRet() ); } try { tmp.insert(tmp.size()+1,0,EleType()); WY_THROW( WyRet() ); } catch(const typename Wy_Array<EleType>::Reply& e) { if(e!=Wym_EINVAL) { WY_THROW( WyRet(e) ); } }; try { tmp.insert(tmp.size(),tmp.max_capacity()+1,EleType()); WY_THROW( WyRet() ); } catch(const typename Wy_Array<EleType>::Reply& e) { if(e!=Wym_EFBIG) { WY_THROW( WyRet(e) ); } }; } // chk insert(size_t,const WySeg<EleType>&) { EleType arr[2]={}; WySeg<EleType> segarr(arr,sizeof(arr)/sizeof(EleType)); Wy_Array<EleType> tmp; WY__CK_ARRAY_CHK_DEFAULT(tmp); tmp.insert(0,segarr); if(tmp.size()!=segarr.size()) { WY_THROW( WyRet() ); } tmp.insert(1,segarr); if(tmp.size()!=2*segarr.size()) { WY_THROW( WyRet() ); } tmp.insert(tmp.size(),segarr); if(tmp.size()!=3*segarr.size()) { WY_THROW( WyRet() ); } Wy_Array<EleType> tmp2(tmp); if(tmp!=tmp2) { WY_THROW( WyRet() ); } try { tmp.insert(tmp.size()+1,segarr); WY_THROW( WyRet() ); } catch(const typename Wy_Array<EleType>::Reply& e) { if(tmp!=tmp2) { WY_THROW( WyRet() ); } if(e!=Wym_EINVAL) { WY_THROW( WyRet(e) ); } } catch(...) { WY_THROW( WyRet() ); }; if(tmp!=tmp2) { WY_THROW( WyRet() ); } try { tmp.insert(1,tmp.subseg()); WY_THROW( WyRet() ); } catch(const typename Wy_Array<EleType>::Reply& e) { if(tmp!=tmp2) { WY_THROW( WyRet() ); } if(e!=Wym_ELOOP) { WY_THROW( WyRet(e) ); } } catch(...) { WY_THROW( WyRet() ); }; if(tmp!=tmp2) { WY_THROW( WyRet() ); } for(int i=0; i<100; ++i) { tmp2._reserve(tmp2.size()+segarr.size()); tmp.insert(tmp.size()>>1,segarr); tmp2.insert(tmp2.size()>>1,segarr); if(tmp!=tmp2) { WY_THROW( WyRet() ); } if(tmp._capacity()>(tmp.size()<<1)) { WY_THROW( WyRet() ); } if(tmp2._capacity()>(tmp2.size()<<1)) { WY_THROW( WyRet() ); } } } // chk insert(size_t,const Wy_Array&) { Wy_Array<EleType> tmp; WY__CK_ARRAY_CHK_DEFAULT(tmp); Wy_Array<EleType> tmp2; tmp2.resize(2); tmp.insert(0,tmp2); if(tmp.size()!=tmp2.size()) { WY_THROW( WyRet() ); } tmp.insert(1,tmp2); if(tmp.size()!=2*tmp2.size()) { WY_THROW( WyRet() ); } tmp.insert(tmp.size(),tmp2); if(tmp.size()!=3*tmp2.size()) { WY_THROW( WyRet() ); } tmp2.reset(tmp); if(tmp!=tmp2) { WY_THROW( WyRet() ); } try { tmp.insert(tmp.size()+1,tmp2); WY_THROW( WyRet() ); } catch(const typename Wy_Array<EleType>::Reply& e) { if(tmp!=tmp2) { WY_THROW( WyRet() ); } if(e!=Wym_EINVAL) { WY_THROW( WyRet(e) ); } } catch(...) { WY_THROW( WyRet() ); }; if(tmp!=tmp2) { WY_THROW( WyRet() ); } try { tmp.insert(1,tmp); WY_THROW( WyRet() ); } catch(const typename Wy_Array<EleType>::Reply& e) { if(tmp!=tmp2) { WY_THROW( WyRet() ); } if(e!=Wym_ELOOP) { WY_THROW( WyRet(e) ); } } catch(...) { WY_THROW( WyRet() ); }; if(tmp!=tmp2) { WY_THROW( WyRet() ); } Wy_Array<EleType> tmp3; tmp3.resize(2); for(int i=0; i<100; ++i) { tmp2._reserve(tmp2.size()+tmp3.size()); tmp.insert(tmp.size()>>1,tmp3); tmp2.insert(tmp2.size()>>1,tmp3); if(tmp!=tmp2) { WY_THROW( WyRet() ); } if(tmp._capacity()>(tmp.size()<<1)) { WY_THROW( WyRet() ); } if(tmp2._capacity()>(tmp2.size()<<1)) { WY_THROW( WyRet() ); } } } // chk replace { Wy_Array<EleType> tmp; WY__CK_ARRAY_CHK_DEFAULT(tmp); tmp.replace(0,1,0,EleType()); WY__CK_ARRAY_CHK_DEFAULT(tmp); tmp.replace(0,1,2,EleType()); if(tmp.size()!=2) { WY_THROW( WyRet() ); } tmp.replace(1,1,2,EleType()); if(tmp.size()!=3) { WY_THROW( WyRet() ); } tmp.replace(3,1,2,EleType()); if(tmp.size()!=5) { WY_THROW( WyRet() ); } tmp.replace(1,5,2,EleType()); if(tmp.size()!=3) { WY_THROW( WyRet() ); } tmp.replace(0,5,0,EleType()); if(tmp.size()!=0) { WY_THROW( WyRet() ); } } // chk resize(size_t) { Wy_Array<EleType> tmp; WY__CK_ARRAY_CHK_DEFAULT(tmp); tmp.resize(0); WY__CK_ARRAY_CHK_DEFAULT(tmp); tmp.resize(1); if(tmp.size()!=1) { WY_THROW( WyRet() ); } tmp.resize(2); if(tmp.size()!=2) { WY_THROW( WyRet() ); } tmp.resize(100); if(tmp.size()!=100) { WY_THROW( WyRet() ); } tmp.resize(90); if(tmp.size()!=90) { WY_THROW( WyRet() ); } try { tmp.resize(tmp.max_capacity()+1); WY_THROW( WyRet() ); } catch(const typename Wy_Array<EleType>::Reply& e) { if(e!=Wym_EFBIG) { WY_THROW( WyRet() ); } }; if(tmp.size()!=90) { WY_THROW( WyRet() ); } tmp.resize(1); if(tmp.size()!=1) { WY_THROW( WyRet() ); } tmp.resize(0); if(tmp.size()!=0) { WY_THROW( WyRet() ); } WY__CK_ARRAY_CHK_DEFAULT(tmp); } // chk resize(size_t,const EleType&) { Wy_Array<EleType> tmp; WY__CK_ARRAY_CHK_DEFAULT(tmp); tmp.resize(0,EleType()); WY__CK_ARRAY_CHK_DEFAULT(tmp); tmp.resize(1,EleType()); if(tmp.size()!=1) { WY_THROW( WyRet() ); } tmp.resize(2,EleType()); if(tmp.size()!=2) { WY_THROW( WyRet() ); } tmp.resize(100,EleType()); if(tmp.size()!=100) { WY_THROW( WyRet() ); } tmp.resize(90,EleType()); if(tmp.size()!=90) { WY_THROW( WyRet() ); } try { tmp.resize(tmp.max_capacity()+1,EleType()); WY_THROW( WyRet() ); } catch(const typename Wy_Array<EleType>::Reply& e) { if(e!=Wym_EFBIG) { WY_THROW( WyRet() ); } }; if(tmp.size()!=90) { WY_THROW( WyRet() ); } tmp.resize(1,EleType()); if(tmp.size()!=1) { WY_THROW( WyRet() ); } tmp.resize(0,EleType()); if(tmp.size()!=0) { WY_THROW( WyRet() ); } WY__CK_ARRAY_CHK_DEFAULT(tmp); }};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -