commit 2025-09-27 08:52 bug fix in DeleteHeap(TypeSize AI_DelCnt) : ZCppMain/ZtCObjList.H
This commit is contained in:
@ -628,6 +628,9 @@ namespace ZNsMain
|
||||
ml_AllSize -= AI_DelCnt;
|
||||
ml_UseSize -= AI_DelCnt;
|
||||
|
||||
if(ml_UseSize<1)
|
||||
mp_NoUseHead = mp_NoUseTail = 0 ;
|
||||
|
||||
return AI_DelCnt;
|
||||
}/*
|
||||
TypeSize DeleteHeap(TypeSize AI_DelCnt)*/
|
||||
@ -1025,6 +1028,8 @@ namespace ZNsMain
|
||||
{
|
||||
// AP_CopyLink 부터 AP_CopyLink->GetNextPrePtr(AL_FarNum)
|
||||
// 링크까지를 복사한다. 총 AL_FarNum + 1 개의 링크가 만들어진다.
|
||||
//
|
||||
// ARR_StoreList.size() 는 0 이어야 한다.
|
||||
|
||||
ZCLink* VP_HeadLink=0;
|
||||
ZCLink* VP_TailLink=0;
|
||||
@ -1038,7 +1043,7 @@ namespace ZNsMain
|
||||
);
|
||||
//////////////////////////////
|
||||
|
||||
VP_TailLink->mp_NextLink=0;
|
||||
ZCLink::MakeCircle(VP_HeadLink, VP_TailLink);
|
||||
|
||||
ARR_StoreList.mp_HeadLink= VP_HeadLink ;
|
||||
ARR_StoreList.mp_TailLink= VP_TailLink ;
|
||||
@ -1263,13 +1268,17 @@ namespace ZNsMain
|
||||
{ DeleteAll(); }
|
||||
if(rhs.ml_Size==0 ){return *this;}
|
||||
|
||||
#if(_CODE_NEW_)
|
||||
CopyLink(rhs.mp_HeadLink, rhs.ml_Size-1, *this); return *this;
|
||||
#else
|
||||
ZtCSimList VO_StoreList;
|
||||
|
||||
JoinHead ///////////////////////////
|
||||
(
|
||||
CopyLink(rhs.mp_HeadLink, rhs.ml_Size-1 ,VO_StoreList)
|
||||
CopyLink(rhs.mp_HeadLink, rhs.ml_Size-1, VO_StoreList)
|
||||
);
|
||||
return *this; //////////////////////
|
||||
#endif
|
||||
}/*
|
||||
ZtCSimList& operator=(const ZtCSimList& rhs)*/
|
||||
|
||||
@ -2136,6 +2145,7 @@ namespace ZNsMain
|
||||
inline bool IsEmpty() const*/
|
||||
|
||||
|
||||
|
||||
// ***************************************************************** //
|
||||
|
||||
// *********************** Functor 부분 시작 *********************** //
|
||||
@ -2207,7 +2217,7 @@ namespace ZNsMain
|
||||
__for0(TTypSize, i, ml_Size)*/
|
||||
}/*
|
||||
template
|
||||
<typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 >
|
||||
<typename TFunctor , typename TTypeHelp1 , typename TTypeHelp2 >
|
||||
void IterElement
|
||||
(TFunctor AO_Functor, TTypeHelp1 AO_TypeHelp1, TTypeHelp2 AO_TypeHelp2)
|
||||
*/
|
||||
@ -2256,13 +2266,13 @@ namespace ZNsMain
|
||||
template<typename TFunctor> void IterEleCutIf(TFunctor AO_Functor) */
|
||||
|
||||
|
||||
template<typename TFunctor> void IterEleLink
|
||||
template<typename TFunctor> void IterEleLink ////////////////////////
|
||||
(
|
||||
ZCLink* AP_StdLink ,
|
||||
TTypSize AL_WorkDistance,
|
||||
TFunctor AO_Functor
|
||||
)
|
||||
/*########################################*/
|
||||
/*#################################################################*/
|
||||
{
|
||||
/* AP_StdLink 부터 AL_WorkDistance 만큼 이동하면서
|
||||
* 각 ZCLink 에 대하여 AO_Functor() 함수를 수행한다.(총 수행 횟수는 (AL_WorkDistance)절대값+1)
|
||||
@ -2297,20 +2307,21 @@ namespace ZNsMain
|
||||
}/*
|
||||
for(TTypSize VL_Loop=0; VL_Loop<=AL_WorkDistance; ++VL_Loop)*/
|
||||
}/*
|
||||
void IterEleLink /////////////////
|
||||
void IterEleLink ////////////////////////////////////////////////////
|
||||
(
|
||||
ZCLink* AP_StdLink ,
|
||||
TTypSize AL_WorkDistance,
|
||||
TFunctor AO_Functor
|
||||
)
|
||||
////////////////////////////////*/
|
||||
/*#################################################################*/
|
||||
|
||||
|
||||
// ***************************************************************
|
||||
// ******************************************************************
|
||||
|
||||
// *********************** Functor 부분 끝 ***********************
|
||||
// ************************* Functor 부분 끝 ************************
|
||||
|
||||
// ******************************************************************
|
||||
|
||||
// ***************************************************************
|
||||
|
||||
|
||||
/*///////////////////////////////////////////////////////////////////////////
|
||||
|
Reference in New Issue
Block a user