commit 2025-10-03 11:51 add ChangeCapacity() in ZtCBaseList : ZCppMain/ZMainHead.H
This commit is contained in:
@ -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()
|
||||
|
Reference in New Issue
Block a user