commit 2025-09-15 20:34 refine ZtCBody::Fetch() in ZCppMain/ZtCObjList.H
This commit is contained in:
@ -664,20 +664,23 @@ namespace ZNsMain
|
||||
if(this==&rhs ) return;
|
||||
if(rhs.size()<1) return;
|
||||
|
||||
RecvFreeIn ////////////////////////
|
||||
(
|
||||
rhs.ml_UseSize ,
|
||||
rhs.mp_NoUseHead,
|
||||
rhs.mp_NoUseTail
|
||||
);
|
||||
///////////////////////////////////
|
||||
if(this->size()<1)
|
||||
this->mp_NoUseHead = rhs.mp_NoUseHead;
|
||||
else
|
||||
{
|
||||
ZCLink::JoinLink
|
||||
(this->mp_NoUseTail, rhs.mp_NoUseHead);
|
||||
}
|
||||
|
||||
this->ml_AllSize += rhs.ml_UseSize;
|
||||
rhs. ml_AllSize -= rhs.ml_UseSize;
|
||||
rhs. ml_UseSize = 0 ;
|
||||
this->mp_NoUseTail = rhs.mp_NoUseTail;
|
||||
this->ml_UseSize += rhs.ml_UseSize ;
|
||||
this->ml_AllSize += rhs.ml_UseSize ;
|
||||
|
||||
rhs. mp_NoUseHead = 0 ;
|
||||
rhs. mp_NoUseTail = 0 ;
|
||||
rhs.ml_AllSize -= rhs.ml_UseSize ;
|
||||
rhs.ml_UseSize = 0 ;
|
||||
|
||||
rhs.mp_NoUseHead = 0 ;
|
||||
rhs.mp_NoUseTail = 0 ;
|
||||
}/*
|
||||
void Fetch(ZtCBody& rhs)*/
|
||||
|
||||
@ -703,13 +706,21 @@ namespace ZNsMain
|
||||
rhs.mp_NoUseHead->GetNextPrevPtr(AI_FetchSize-1);
|
||||
ZCLink* VP_RhsNewHead = VP_RhsCutTail->GetNextPtr( );
|
||||
|
||||
RecvFreeIn //////////////////////////////////////////
|
||||
(
|
||||
AI_FetchSize, rhs.mp_NoUseHead, VP_RhsCutTail
|
||||
);
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
if(ml_UseSize<1)
|
||||
{
|
||||
// mp_NoUseHead, mp_NoUseTail 이 0
|
||||
this->mp_NoUseHead = rhs.mp_NoUseHead ;
|
||||
}
|
||||
else
|
||||
{
|
||||
// mp_NoUseHead 고정.
|
||||
ZCLink::JoinLink
|
||||
(this->mp_NoUseTail, rhs.mp_NoUseHead);
|
||||
}
|
||||
|
||||
this->ml_AllSize += AI_FetchSize ;
|
||||
this->ml_UseSize += AI_FetchSize ;
|
||||
this->mp_NoUseTail = VP_RhsCutTail;
|
||||
rhs. ml_AllSize -= AI_FetchSize ;
|
||||
rhs. ml_UseSize -= AI_FetchSize ;
|
||||
rhs. mp_NoUseHead = VP_RhsNewHead;
|
||||
@ -984,7 +995,7 @@ namespace ZNsMain
|
||||
/*public :*/
|
||||
protected:
|
||||
ZCLink* mp_HeadLink;
|
||||
TypeSize ml_Size ;
|
||||
TypeSize ml_Size ; mutable
|
||||
ZCFreeHeap mo_FreeObjt;
|
||||
protected:
|
||||
|
||||
@ -1583,11 +1594,11 @@ namespace ZNsMain
|
||||
Type& operator[](TypeSize AL_Index) const*/
|
||||
|
||||
|
||||
ZCFreeHeap& GetCFreeHeap()
|
||||
ZCFreeHeap& GetCFreeHeap() const
|
||||
{
|
||||
return mo_FreeObjt;
|
||||
}/*
|
||||
ZCFreeHeap& GetCFreeHeap()*/
|
||||
ZCFreeHeap& GetCFreeHeap() const*/
|
||||
|
||||
|
||||
TypeSize Find /*###############################################################*/
|
||||
|
@ -666,20 +666,23 @@ namespace ZNsMain
|
||||
if(this==&rhs ) return;
|
||||
if(rhs.size()<1) return;
|
||||
|
||||
RecvFreeIn ////////////////////////
|
||||
(
|
||||
rhs.ml_UseSize ,
|
||||
rhs.mp_NoUseHead,
|
||||
rhs.mp_NoUseTail
|
||||
);
|
||||
///////////////////////////////////
|
||||
if(this->size()<1)
|
||||
this->mp_NoUseHead = rhs.mp_NoUseHead;
|
||||
else
|
||||
{
|
||||
ZCLink::JoinLink
|
||||
(this->mp_NoUseTail, rhs.mp_NoUseHead);
|
||||
}
|
||||
|
||||
this->ml_AllSize += rhs.ml_UseSize;
|
||||
rhs. ml_AllSize -= rhs.ml_UseSize;
|
||||
rhs. ml_UseSize = 0 ;
|
||||
this->mp_NoUseTail = rhs.mp_NoUseTail;
|
||||
this->ml_UseSize += rhs.ml_UseSize ;
|
||||
this->ml_AllSize += rhs.ml_UseSize ;
|
||||
|
||||
rhs. mp_NoUseHead = 0 ;
|
||||
rhs. mp_NoUseTail = 0 ;
|
||||
rhs.ml_AllSize -= rhs.ml_UseSize ;
|
||||
rhs.ml_UseSize = 0 ;
|
||||
|
||||
rhs.mp_NoUseHead = 0 ;
|
||||
rhs.mp_NoUseTail = 0 ;
|
||||
}/*
|
||||
void Fetch(ZtCBody& rhs)*/
|
||||
|
||||
@ -705,13 +708,21 @@ namespace ZNsMain
|
||||
rhs.mp_NoUseHead->GetNextPrevPtr(AI_FetchSize-1);
|
||||
ZCLink* VP_RhsNewHead = VP_RhsCutTail->GetNextPtr( );
|
||||
|
||||
RecvFreeIn //////////////////////////////////////////
|
||||
(
|
||||
AI_FetchSize, rhs.mp_NoUseHead, VP_RhsCutTail
|
||||
);
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
if(ml_UseSize<1)
|
||||
{
|
||||
// mp_NoUseHead, mp_NoUseTail 이 0
|
||||
this->mp_NoUseHead = rhs.mp_NoUseHead ;
|
||||
}
|
||||
else
|
||||
{
|
||||
// mp_NoUseHead 고정.
|
||||
ZCLink::JoinLink
|
||||
(this->mp_NoUseTail, rhs.mp_NoUseHead);
|
||||
}
|
||||
|
||||
this->ml_AllSize += AI_FetchSize ;
|
||||
this->ml_UseSize += AI_FetchSize ;
|
||||
this->mp_NoUseTail = VP_RhsCutTail;
|
||||
rhs. ml_AllSize -= AI_FetchSize ;
|
||||
rhs. ml_UseSize -= AI_FetchSize ;
|
||||
rhs. mp_NoUseHead = VP_RhsNewHead;
|
||||
@ -983,7 +994,7 @@ namespace ZNsMain
|
||||
|
||||
TTypSize ml_Size ;
|
||||
ZCLink* mp_HeadLink ;
|
||||
ZCLink* mp_TailLink ;
|
||||
ZCLink* mp_TailLink ; mutable
|
||||
ZCFreeHeap mo_FreeObjt ;
|
||||
|
||||
|
||||
@ -2053,11 +2064,11 @@ namespace ZNsMain
|
||||
const ZCLink* GetLinkPtr(TTypSize AL_Index) const*/
|
||||
|
||||
|
||||
ZCFreeHeap& GetCFreeHeap()
|
||||
ZCFreeHeap& GetCFreeHeap() const
|
||||
{
|
||||
return mo_FreeObjt;
|
||||
}/*
|
||||
ZCFreeHeap& GetCFreeHeap()*/
|
||||
ZCFreeHeap& GetCFreeHeap() const*/
|
||||
|
||||
|
||||
inline TTypSize GetSize() const
|
||||
|
@ -110,6 +110,8 @@ namespace ZNsMain
|
||||
|
||||
CStringList1 VO_ListOfStr11 ;
|
||||
|
||||
cout<<"# add 2 elements and clear in VO_ListOfStr11"<<endl;
|
||||
|
||||
VO_ListOfStr11.AddTail(VO_CStringBase("lsit 11 data 01"));
|
||||
VO_ListOfStr11.AddTail(VO_CStringBase("lsit 11 data 02"));
|
||||
VO_ListOfStr11.clear();
|
||||
|
Reference in New Issue
Block a user