commit 2025-09-09 00:14 edit a bit ZCppMain/ZtCSimList.H

This commit is contained in:
2025-09-09 00:15:07 +09:00
parent 9c39536b4f
commit 3537c0a37d
2 changed files with 38 additions and 38 deletions

View File

@ -751,6 +751,9 @@ namespace ZNsMain
ZtCThreadEx& operator=(const ZtCThreadEx& rhs)*/ ZtCThreadEx& operator=(const ZtCThreadEx& rhs)*/
virtual ~ZtCThreadEx(){}
bool Make() bool Make()
{ {
return this->TThread::Make(ThreadFunc, GetCDerivePtr()); return this->TThread::Make(ThreadFunc, GetCDerivePtr());

View File

@ -380,11 +380,12 @@ namespace ZNsMain
////////////// ) */ ////////////// ) */
void GetManyLinkCopy( ZCLink* AP_LinkOrgin, void GetManyLinkCopy /*////////////////////////////*/
TTypSize AL_FarNum , (
ZCLink*& APR_HeadCopy, ZCLink* AP_LinkOrgin, TTypSize AL_FarNum ,
ZCLink*& APR_TailCopy ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
/*****************/ ) )
/*/////////////////////////////////////////////////*/
{ {
// AL_FarNum > 0 // AL_FarNum > 0
// AP_LinkOrgin 링크부터, // AP_LinkOrgin 링크부터,
@ -466,11 +467,13 @@ namespace ZNsMain
ml_UseSize = 0; ml_UseSize = 0;
} }
//else // AL_FarNum > ml_UseSize //else // AL_FarNum > ml_UseSize
} }/*
/*void GetManyLinkCopy( void GetManyLinkCopy ////////////////////////////////
ZCLink* AP_LinkOrgin, TTypSize AL_FarNum, (
ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy, ZCLink* AP_LinkOrgin, TTypSize AL_FarNum ,
///////////// ) */ ZCLink*& APR_HeadCopy, ZCLink*& APR_TailCopy
)
///////////////////////////////////////////////////*/
void MakeLink( TTypSize AL_MakeSize, void MakeLink( TTypSize AL_MakeSize,
@ -498,9 +501,9 @@ namespace ZNsMain
ml_AllSize += AL_MakeSize; ml_AllSize += AL_MakeSize;
ZCLink* VP_MakeLink =0; ZCLink* VP_MakeLink = 0 ;
ZCLink* VP_TempLink =APR_HeadLink; ZCLink* VP_TempLink = APR_HeadLink;
bool VB_IsHeapOver=false; bool VB_IsHeapOver= false ;
// bool VB_IsHeapOver 은 new 연산자가 NULL 포인터를 반환했을 때 // bool VB_IsHeapOver 은 new 연산자가 NULL 포인터를 반환했을 때
// true 를 대입받는다. 이 값을 조사함으로써 heap overflow 를 처리한다. // true 를 대입받는다. 이 값을 조사함으로써 heap overflow 를 처리한다.
@ -520,7 +523,8 @@ namespace ZNsMain
if(VP_MakeLink==0) if(VP_MakeLink==0)
{ {
ml_AllSize -= AL_MakeSize+1 ; ml_AllSize -= AL_MakeSize+1 ;
VB_IsHeapOver=true; VB_IsHeapOver = true ;
break; break;
} }
//if(VP_MakeLink==0) //if(VP_MakeLink==0)
@ -584,9 +588,9 @@ namespace ZNsMain
ZNsMain::ZCCheckAlloc::ZCAllowAlloc CAllowAllocObj; ZNsMain::ZCCheckAlloc::ZCAllowAlloc CAllowAllocObj;
#endif //_DEBUG #endif //_DEBUG
ZCLink* VP_MakeLink =0; ZCLink* VP_MakeLink = 0 ;
ZCLink* VP_TempLink =0; ZCLink* VP_TempLink = 0 ;
bool VB_IsHeapOver=false; bool VB_IsHeapOver= false;
VP_TempLink = \ VP_TempLink = \
VP_MakeLink = new ZCLink(AP_LinkOrgin->mo_Type); VP_MakeLink = new ZCLink(AP_LinkOrgin->mo_Type);
@ -679,7 +683,7 @@ namespace ZNsMain
} }
//void ReceiveLink(ZCLink* AP_Link) //void ReceiveLink(ZCLink* AP_Link)
void ReceiveLink(ZCLink* AP_HeadLink,ZCLink* AP_TailLink,TTypSize AL_Count) void ReceiveLink(ZCLink* AP_HeadLink,ZCLink* AP_TailLink, TTypSize AL_Count)
{ {
#ifdef _REENTRANT_MUTEX #ifdef _REENTRANT_MUTEX
ZNsMain::ZCMutexSmallLock VO_ZCMutexSmallLock(mo_Mutex); ZNsMain::ZCMutexSmallLock VO_ZCMutexSmallLock(mo_Mutex);
@ -701,9 +705,9 @@ namespace ZNsMain
mp_NoUseTailLink->mp_NextLink=0; mp_NoUseTailLink->mp_NextLink=0;
ml_UseSize+=AL_Count; ml_UseSize += AL_Count ;
} }
//void ReceiveLink(ZCLink* AP_HeadLink,ZCLink* AP_TailLink,TTypSize AL_Count) //void ReceiveLink(ZCLink* AP_HeadLink,ZCLink* AP_TailLink, TTypSize AL_Count)
//private: //private:
@ -743,9 +747,7 @@ namespace ZNsMain
#endif //!_SIMLIST_FREE_STORE_CHECK_ #endif //!_SIMLIST_FREE_STORE_CHECK_
if(ml_UseSize==0) if(ml_UseSize==0) return ;
return ;
//endif
ZCLink* VP_DelLink=mp_NoUseHeadLink; ZCLink* VP_DelLink=mp_NoUseHeadLink;
@ -774,9 +776,7 @@ namespace ZNsMain
ZNsMain::ZCMutexSmallLock VO_ZCMutexSmallLock(mo_Mutex); ZNsMain::ZCMutexSmallLock VO_ZCMutexSmallLock(mo_Mutex);
#endif //_REENTRANT_MUTEX #endif //_REENTRANT_MUTEX
if(ml_UseSize==0) if(ml_UseSize==0) return ;
return ;
//endif
ZCLink* VP_DelLink=mp_NoUseHeadLink; ZCLink* VP_DelLink=mp_NoUseHeadLink;
@ -1039,7 +1039,7 @@ namespace ZNsMain
/////////////////////////////////////////////////*/ /////////////////////////////////////////////////*/
ZtCSimList& MakeDefault(TTypSize AL_DefaultSize ,ZtCSimList& ARR_StoreList) const ZtCSimList& MakeDefault(TTypSize AL_DefaultSize, ZtCSimList& ARR_StoreList) const
{ {
// must AL_DefaultSize > 0 // must AL_DefaultSize > 0
@ -1055,7 +1055,7 @@ namespace ZNsMain
return ARR_StoreList; return ARR_StoreList;
} }
//ZtCSimList& MakeDefault(TTypSize AL_DefaultSize ,ZtCSimList& ARR_StoreList) const //ZtCSimList& MakeDefault(TTypSize AL_DefaultSize, ZtCSimList& ARR_StoreList) const
virtual void OnDelete( ZCLink* AP_CutHead, TTypSize AL_CutHeadPos, virtual void OnDelete( ZCLink* AP_CutHead, TTypSize AL_CutHeadPos,
@ -1193,11 +1193,8 @@ namespace ZNsMain
//const TType& operator[](TTypSize AL_Index) const //const TType& operator[](TTypSize AL_Index) const
operator TType& () operator TType&(){return AddTailDefault()->mo_Type;}
{
return AddTailDefault()->mo_Type;
}/*
operator TType& ()*/
TType& operator()() TType& operator()()
{ {
@ -1570,7 +1567,7 @@ namespace ZNsMain
{ {
if(this==&rhs || rhs.mp_HeadLink==0) if(this==&rhs || rhs.mp_HeadLink==0)
{return;} {return;}
//////////////////////////////////// /*++++++++++++++++++++++++++++++++*/
rhs.OnDelete( rhs.mp_HeadLink, 1, rhs.OnDelete( rhs.mp_HeadLink, 1,
rhs.mp_TailLink, rhs.ml_Size rhs.mp_TailLink, rhs.ml_Size
@ -1603,7 +1600,7 @@ namespace ZNsMain
{ {
if(this==&rhs || rhs.mp_HeadLink==0) if(this==&rhs || rhs.mp_HeadLink==0)
{ return; } { return; }
//////////////////////////////////// /*++++++++++++++++++++++++++++++++*/
rhs.OnDelete( rhs.mp_HeadLink, 1, rhs.OnDelete( rhs.mp_HeadLink, 1,
rhs.mp_TailLink, rhs.ml_Size rhs.mp_TailLink, rhs.ml_Size
@ -1847,7 +1844,7 @@ namespace ZNsMain
{ {
if(VP_TempLink==AP_pSearchLink) if(VP_TempLink==AP_pSearchLink)
{return VL_FindIndex;} {return VL_FindIndex;}
/////////////////////////////// /*+++++++++++++++++++++++++++*/
if(VL_FindIndex==ml_Size){return 0; } if(VL_FindIndex==ml_Size){return 0; }
@ -1875,7 +1872,7 @@ namespace ZNsMain
{ {
if(**VP_TempLink==AR_TypeArg) if(**VP_TempLink==AR_TypeArg)
{return VL_FindIndex;} {return VL_FindIndex;}
//////////////////////////// /*+++++++++++++++++++++++++*/
if(VL_FindIndex==ml_Size){return 0; } if(VL_FindIndex==ml_Size){return 0; }