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