commit 2025-10-03 11:51 add ChangeCapacity() in ZtCBaseList : ZCppMain/ZMainHead.H

This commit is contained in:
2025-10-03 11:51:55 +09:00
parent c0cc5540b5
commit 97b1280b15
4 changed files with 379 additions and 88 deletions

View File

@ -769,6 +769,13 @@ namespace ZNsMain
}/*
TypeSize capacity() const*/
void ChangeCapacity(TypeSize AI_AddCut)
{
ml_AllSize =+ AI_AddCut;
}/*
void ChangeCapacity(TypeSize AI_AddCut)*/
public:
};/*
template<typename TObjList> class ZtCBody*/
@ -1077,6 +1084,9 @@ namespace ZNsMain
if(this == &AO_CObjList ) return;
if(AO_CObjList.ml_Size<1) return;
this-> ChangeCapacity( AO_CObjList.ml_LinkCnt) ;
AO_CObjList.ChangeCapacity(-AO_CObjList.ml_LinkCnt) ;
if(AP_LinkStd==0)
{
if(ml_Size==0)
@ -1144,9 +1154,7 @@ namespace ZNsMain
{
if(AL_CutPos==1) // 첫째 링크를 삭제.
{
if(ml_Size==1)
mp_HeadLink=0;
else
if(ml_Size==1){ mp_HeadLink=0; }else
{
ZCLink::MakeRing
(
@ -1155,7 +1163,7 @@ namespace ZNsMain
);
////////////////
}/*
else*/
else :::::::::::::::::::::::::::::*/
}
else if(AL_CutPos==ml_Size) // 끝 링크를 삭제할 때
ZCLink::MakeRing(mp_HeadLink , AP_CutLink->mp_PrevLink);
@ -1213,7 +1221,8 @@ namespace ZNsMain
}/*
else*/
ml_Size -= AL_CutTailPos-AL_CutHeadPos+1 ;
TypeSize VL_CutSize = AL_CutTailPos-AL_CutHeadPos+1 ;
/*++++*/ ml_Size -= VL_CutSize ;
// AP_CutHead 과 AP_CutTail 을 연결하여
// 이중 원형 연결리스트가 되도록 한다.
@ -1239,8 +1248,11 @@ namespace ZNsMain
#endif //_DEBUG
ARR_StoreList.mp_HeadLink=AP_CutHead ;
ARR_StoreList.ml_Size =AL_CutTailPos-AL_CutHeadPos+1;
this-> ChangeCapacity(-VL_CutSize) ;
ARR_StoreList.ChangeCapacity( VL_CutSize) ;
ARR_StoreList.mp_HeadLink = AP_CutHead ;
ARR_StoreList.ml_Size = VL_CutSize ;
return ARR_StoreList;
}/*
@ -1412,13 +1424,13 @@ namespace ZNsMain
{
ZtCObjList VO_StoreList;
CutLink ///////////////////////////////////////
CutLink ////////////////////////////////////////
(
GetLinkPtr(rhs.ml_Size+1), rhs.ml_Size+1,
GetLinkPtr( ml_Size ), ml_Size ,
RR(VO_StoreList)
). DeleteAll();
////////////////////////////////////////////////
/////////////////////////////////////////////////
}/*
else*/
@ -1452,7 +1464,11 @@ namespace ZNsMain
TypeSize capacity() const{return mo_FreeObjt.capacity();}
TypeSize GetFreeSize() const
{ return mo_FreeObjt.size(); }
{ return mo_FreeObjt.size(); }
void ChangeCapacity(TypeSize AI_AddCut) const
{ mo_FreeObjt.ChangeCapacity(AI_AddCut); }
ZCLink* GetHeadLinkPtr(){return mp_HeadLink;}
ZCLink* GetTailLinkPtr()