commit 2025-09-09 11:02 add ItHID(), ItNext() etc in ZCppMain/ZtCSimList.H
This commit is contained in:
@ -13,7 +13,7 @@ namespace ZNsMain
|
||||
template<typename TypeObjList> class ZtCSortObjList;
|
||||
|
||||
|
||||
template /*############################*/
|
||||
template /*#######################################*/
|
||||
<
|
||||
typename TType ,
|
||||
typename TTypCArg =const TType&,
|
||||
@ -21,7 +21,7 @@ namespace ZNsMain
|
||||
typename TTypCInit =ZCInit ,
|
||||
typename TTypSize =ZTypLong
|
||||
>
|
||||
class ZtCSimList /*####################*/
|
||||
class ZtCSimList /*###############################*/
|
||||
{
|
||||
public:
|
||||
typedef TType Type ;
|
||||
@ -282,22 +282,23 @@ namespace ZNsMain
|
||||
ZCLink* GetOneLink()*/
|
||||
|
||||
|
||||
void GetManyLink( TTypSize AL_LinkSize,
|
||||
ZCLink*& APR_HeadLink,
|
||||
ZCLink*& APR_TailLink
|
||||
/*************/ )
|
||||
void GetManyLink /*#####################################################*/
|
||||
(
|
||||
TTypSize AL_LinkSize, ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink
|
||||
)
|
||||
/*######################################################################*/
|
||||
{
|
||||
#ifdef _REENTRANT_MUTEX
|
||||
#ifdef _REENTRANT_MUTEX
|
||||
ZNsMain::ZCMutexSmallLock VO_ZCMutexSmallLock(mo_Mutex);
|
||||
#endif //_REENTRANT_MUTEX
|
||||
|
||||
#ifdef _DEBUG
|
||||
#ifdef _DEBUG
|
||||
ZNsMain::ZCCheckAlloc::ZCAllowAlloc CAllowAllocObj;
|
||||
#endif //_DEBUG
|
||||
|
||||
if(mp_NoUseHeadLink==0)
|
||||
{
|
||||
MakeLink(AL_LinkSize,APR_HeadLink,APR_TailLink);
|
||||
MakeLink(AL_LinkSize, APR_HeadLink, APR_TailLink);
|
||||
}
|
||||
else if(AL_LinkSize==ml_UseSize)
|
||||
{
|
||||
@ -308,17 +309,16 @@ namespace ZNsMain
|
||||
mo_TypeInit(VP_Temp->mo_Type);
|
||||
|
||||
if(VP_Temp==mp_NoUseTailLink)
|
||||
break;
|
||||
else
|
||||
VP_Temp=VP_Temp->mp_NextLink;
|
||||
//else
|
||||
{ break; }
|
||||
|
||||
VP_Temp = VP_Temp->mp_NextLink;
|
||||
}
|
||||
//while(true)
|
||||
|
||||
APR_HeadLink=mp_NoUseHeadLink;
|
||||
APR_HeadLink=mp_NoUseHeadLink ;
|
||||
APR_TailLink=mp_NoUseTailLink ;
|
||||
|
||||
mp_NoUseHeadLink=0;
|
||||
mp_NoUseHeadLink =0;
|
||||
mp_NoUseTailLink =0;
|
||||
|
||||
ml_UseSize=0;
|
||||
@ -329,7 +329,7 @@ namespace ZNsMain
|
||||
|
||||
mo_TypeInit(mp_NoUseHeadLink->mo_Type);
|
||||
|
||||
for(TTypSize VL_Count=2;VL_Count<=AL_LinkSize;++VL_Count)
|
||||
for(TTypSize VL_Count=2; VL_Count<=AL_LinkSize; ++VL_Count)
|
||||
{
|
||||
// VL_Count 가 2 부터 시작함으로 AL_LinkSize-1 번 순환한다.
|
||||
// 그래야지 AL_LinkSize 개의 링크를 자를 수 있다.
|
||||
@ -337,7 +337,7 @@ namespace ZNsMain
|
||||
mp_NoUseHeadLink=mp_NoUseHeadLink->mp_NextLink;
|
||||
mo_TypeInit(mp_NoUseHeadLink->mo_Type);
|
||||
}
|
||||
//for(TTypSize VL_Count=2;VL_Count<=AL_LinkSize;++VL_Count)
|
||||
//for(TTypSize VL_Count=2; VL_Count<=AL_LinkSize; ++VL_Count)
|
||||
|
||||
APR_TailLink = mp_NoUseHeadLink;
|
||||
mp_NoUseHeadLink= mp_NoUseHeadLink->mp_NextLink;
|
||||
@ -353,16 +353,15 @@ namespace ZNsMain
|
||||
mo_TypeInit(VP_Temp->mo_Type);
|
||||
|
||||
if(VP_Temp==mp_NoUseTailLink)
|
||||
break;
|
||||
else
|
||||
VP_Temp=VP_Temp->mp_NextLink;
|
||||
//endif
|
||||
{ break; }
|
||||
|
||||
VP_Temp=VP_Temp->mp_NextLink ;
|
||||
}
|
||||
//while(true)
|
||||
|
||||
APR_HeadLink=mp_NoUseHeadLink;
|
||||
APR_HeadLink = mp_NoUseHeadLink;
|
||||
|
||||
MakeLink( AL_LinkSize-ml_UseSize,
|
||||
MakeLink( AL_LinkSize - ml_UseSize ,
|
||||
mp_NoUseTailLink->mp_NextLink,
|
||||
APR_TailLink
|
||||
/*****/ );
|
||||
@ -372,12 +371,12 @@ namespace ZNsMain
|
||||
ml_UseSize =0;
|
||||
}
|
||||
//else // AL_LinkSize > ml_UseSize
|
||||
}
|
||||
/*void GetManyLink(
|
||||
TTypSize AL_LinkSize,
|
||||
ZCLink*& APR_HeadLink,
|
||||
ZCLink*& APR_TailLink
|
||||
////////////// ) */
|
||||
}/*
|
||||
void GetManyLink
|
||||
(
|
||||
TTypSize AL_LinkSize, ZCLink*& APR_HeadLink, ZCLink*& APR_TailLink
|
||||
)
|
||||
########################################################################*/
|
||||
|
||||
|
||||
void GetManyLinkCopy /*////////////////////////////*/
|
||||
@ -397,11 +396,11 @@ namespace ZNsMain
|
||||
// 이 함수는 각 링크를 새로 생성하는 MakeLinkCopy() 함수와는 달리
|
||||
// 기존에 있는 ml_UseSize 개의 링크를 먼저 사용한다.
|
||||
|
||||
#ifdef _REENTRANT_MUTEX
|
||||
#ifdef _REENTRANT_MUTEX
|
||||
ZNsMain::ZCMutexSmallLock VO_ZCMutexSmallLock(mo_Mutex);
|
||||
#endif //_REENTRANT_MUTEX
|
||||
|
||||
#ifdef _DEBUG
|
||||
#ifdef _DEBUG
|
||||
ZNsMain::ZCCheckAlloc::ZCAllowAlloc CAllowAllocObj;
|
||||
#endif //_DEBUG
|
||||
|
||||
@ -414,12 +413,12 @@ namespace ZNsMain
|
||||
ml_UseSize -= AL_FarNum+1 ;
|
||||
|
||||
mp_NoUseHeadLink->mo_Type = AP_LinkOrgin->mo_Type;
|
||||
APR_HeadCopy=mp_NoUseHeadLink;
|
||||
APR_HeadCopy = mp_NoUseHeadLink ;
|
||||
|
||||
while(--AL_FarNum>=0)
|
||||
{
|
||||
mp_NoUseHeadLink=mp_NoUseHeadLink->mp_NextLink;
|
||||
AP_LinkOrgin=AP_LinkOrgin->mp_NextLink;
|
||||
mp_NoUseHeadLink= mp_NoUseHeadLink->mp_NextLink ;
|
||||
AP_LinkOrgin = AP_LinkOrgin->mp_NextLink ;
|
||||
|
||||
mp_NoUseHeadLink->mo_Type = AP_LinkOrgin->mo_Type;
|
||||
}
|
||||
@ -444,8 +443,8 @@ namespace ZNsMain
|
||||
}
|
||||
else // AL_FarNum > ml_UseSize
|
||||
{
|
||||
mp_NoUseHeadLink->mo_Type = AP_LinkOrgin->mo_Type;
|
||||
APR_HeadCopy = mp_NoUseHeadLink;
|
||||
mp_NoUseHeadLink->mo_Type = AP_LinkOrgin->mo_Type ;
|
||||
APR_HeadCopy = mp_NoUseHeadLink ;
|
||||
|
||||
while(mp_NoUseHeadLink!=mp_NoUseTailLink)
|
||||
{
|
||||
@ -456,11 +455,12 @@ namespace ZNsMain
|
||||
}
|
||||
//while(mp_NoUseHeadLink!=mp_NoUseTailLink)
|
||||
|
||||
MakeLinkCopy( AP_LinkOrgin->mp_NextLink ,
|
||||
AL_FarNum-ml_UseSize ,
|
||||
mp_NoUseTailLink->mp_NextLink,
|
||||
APR_TailCopy
|
||||
/*********/ );
|
||||
MakeLinkCopy /*++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
(
|
||||
AP_LinkOrgin ->mp_NextLink, AL_FarNum-ml_UseSize ,
|
||||
mp_NoUseTailLink->mp_NextLink, APR_TailCopy
|
||||
);
|
||||
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
|
||||
mp_NoUseHeadLink =
|
||||
mp_NoUseTailLink = 0;
|
||||
@ -592,11 +592,11 @@ namespace ZNsMain
|
||||
// AL_FarNum > 0 , 총 AL_FarNum + 1 개의 링크가 만들어진다.
|
||||
|
||||
|
||||
#ifdef _REENTRANT_MUTEX
|
||||
#ifdef _REENTRANT_MUTEX
|
||||
ZNsMain::ZCMutexSmallLock VO_ZCMutexSmallLock(mo_Mutex);
|
||||
#endif //_REENTRANT_MUTEX
|
||||
|
||||
#ifdef _DEBUG
|
||||
#ifdef _DEBUG
|
||||
ZNsMain::ZCCheckAlloc::ZCAllowAlloc CAllowAllocObj;
|
||||
#endif //_DEBUG
|
||||
|
||||
@ -614,7 +614,7 @@ namespace ZNsMain
|
||||
//add codes for memory over
|
||||
|
||||
ml_AllSize -= AL_FarNum+1 ;
|
||||
DeleteAllInHeap();
|
||||
DeleteAllInHeap() ;
|
||||
|
||||
return;
|
||||
}
|
||||
@ -629,16 +629,16 @@ namespace ZNsMain
|
||||
|
||||
if(VP_MakeLink==0)
|
||||
{
|
||||
ml_AllSize -= AL_FarNum+1 ;
|
||||
ml_AllSize -= AL_FarNum+1 ;
|
||||
APR_TailCopy = VP_TempLink ;
|
||||
VB_IsHeapOver= true ;
|
||||
|
||||
APR_TailCopy =VP_TempLink;
|
||||
VB_IsHeapOver=true;
|
||||
break;
|
||||
}
|
||||
//if(VP_MakeLink==0)
|
||||
|
||||
VP_TempLink->mp_NextLink=VP_MakeLink;
|
||||
VP_TempLink = VP_MakeLink;
|
||||
VP_TempLink->mp_NextLink= VP_MakeLink;
|
||||
VP_TempLink = VP_MakeLink;
|
||||
}
|
||||
//while(--AL_FarNum >= 0)
|
||||
|
||||
@ -675,7 +675,7 @@ namespace ZNsMain
|
||||
|
||||
void ReceiveLink(ZCLink* AP_Link)
|
||||
{
|
||||
#ifdef _REENTRANT_MUTEX
|
||||
#ifdef _REENTRANT_MUTEX
|
||||
ZNsMain::ZCMutexSmallLock VO_ZCMutexSmallLock(mo_Mutex);
|
||||
#endif //_REENTRANT_MUTEX
|
||||
|
||||
@ -690,8 +690,8 @@ namespace ZNsMain
|
||||
{
|
||||
// 새로운 링크는 mp_NoUseTailLink 다음에 붙인다.
|
||||
|
||||
mp_NoUseTailLink->mp_NextLink=AP_Link;
|
||||
mp_NoUseTailLink=AP_Link;
|
||||
mp_NoUseTailLink->mp_NextLink= AP_Link;
|
||||
mp_NoUseTailLink = AP_Link;
|
||||
}
|
||||
//else
|
||||
}
|
||||
@ -699,7 +699,7 @@ namespace ZNsMain
|
||||
|
||||
void ReceiveLink(ZCLink* AP_HeadLink,ZCLink* AP_TailLink, TTypSize AL_Count)
|
||||
{
|
||||
#ifdef _REENTRANT_MUTEX
|
||||
#ifdef _REENTRANT_MUTEX
|
||||
ZNsMain::ZCMutexSmallLock VO_ZCMutexSmallLock(mo_Mutex);
|
||||
#endif //_REENTRANT_MUTEX
|
||||
|
||||
@ -712,14 +712,13 @@ namespace ZNsMain
|
||||
{
|
||||
// 새로운 링크는 mp_NoUseTailLink 다음에 붙인다.
|
||||
|
||||
mp_NoUseTailLink->mp_NextLink=AP_HeadLink;
|
||||
mp_NoUseTailLink=AP_TailLink;
|
||||
mp_NoUseTailLink->mp_NextLink = AP_HeadLink;
|
||||
mp_NoUseTailLink = AP_TailLink;
|
||||
}
|
||||
//else
|
||||
|
||||
mp_NoUseTailLink->mp_NextLink=0;
|
||||
|
||||
ml_UseSize += AL_Count ;
|
||||
ml_UseSize += AL_Count ;
|
||||
}
|
||||
//void ReceiveLink(ZCLink* AP_HeadLink,ZCLink* AP_TailLink, TTypSize AL_Count)
|
||||
|
||||
@ -786,7 +785,7 @@ namespace ZNsMain
|
||||
|
||||
void DeleteAllInHeap()
|
||||
{
|
||||
#ifdef _REENTRANT_MUTEX
|
||||
#ifdef _REENTRANT_MUTEX
|
||||
ZNsMain::ZCMutexSmallLock VO_ZCMutexSmallLock(mo_Mutex);
|
||||
#endif //_REENTRANT_MUTEX
|
||||
|
||||
@ -891,9 +890,9 @@ namespace ZNsMain
|
||||
|
||||
VP_TailLink->mp_NextLink=0;
|
||||
|
||||
ARR_StoreList.mp_HeadLink=VP_HeadLink;
|
||||
ARR_StoreList.mp_TailLink=VP_TailLink;
|
||||
ARR_StoreList.ml_Size =AL_FarNum+1 ;
|
||||
ARR_StoreList.mp_HeadLink= VP_HeadLink ;
|
||||
ARR_StoreList.mp_TailLink= VP_TailLink ;
|
||||
ARR_StoreList.ml_Size = AL_FarNum+1 ;
|
||||
|
||||
return ARR_StoreList;
|
||||
}/*
|
||||
@ -1004,12 +1003,11 @@ namespace ZNsMain
|
||||
{
|
||||
mp_HeadLink=AP_CutTail->mp_NextLink;
|
||||
}
|
||||
//endif
|
||||
}
|
||||
else if(AP_CutTail==mp_TailLink) // 잘라내려는 링크가 끝 링크를 포함할 때.
|
||||
{
|
||||
mp_TailLink=AP_CutHeadPrev;
|
||||
mp_TailLink->mp_NextLink=0;
|
||||
mp_TailLink= AP_CutHeadPrev ;
|
||||
mp_TailLink->mp_NextLink= 0 ;
|
||||
}
|
||||
else // 잘라내려는 링크가 처음과 끝 링크를 포함하지 않을 때.
|
||||
{
|
||||
@ -1060,12 +1058,13 @@ namespace ZNsMain
|
||||
ZCLink* VP_HeadLink=0;
|
||||
ZCLink* VP_TailLink=0;
|
||||
|
||||
GetCLinkHeap().GetManyLink(AL_DefaultSize, VP_HeadLink, VP_TailLink);
|
||||
ZCLink::MakeCircle(VP_HeadLink, VP_TailLink);
|
||||
GetCLinkHeap().GetManyLink
|
||||
(AL_DefaultSize, VP_HeadLink, VP_TailLink);
|
||||
ZCLink::MakeCircle( VP_HeadLink, VP_TailLink );
|
||||
|
||||
ARR_StoreList.mp_HeadLink=VP_HeadLink;
|
||||
ARR_StoreList.mp_TailLink=VP_TailLink;
|
||||
ARR_StoreList.ml_Size =AL_DefaultSize;
|
||||
ARR_StoreList.mp_HeadLink= VP_HeadLink ;
|
||||
ARR_StoreList.mp_TailLink= VP_TailLink ;
|
||||
ARR_StoreList.ml_Size = AL_DefaultSize ;
|
||||
|
||||
return ARR_StoreList;
|
||||
}
|
||||
@ -1219,7 +1218,8 @@ namespace ZNsMain
|
||||
|
||||
void AddHead(TypeArg AR_Type)
|
||||
{
|
||||
ZCLink* VP_AddLink=GetCLinkHeap().GetOneLink(); VP_AddLink->mo_Type=AR_Type;
|
||||
ZCLink* VP_AddLink = GetCLinkHeap().GetOneLink() ;
|
||||
VP_AddLink->mo_Type= AR_Type ;
|
||||
|
||||
if(++ml_Size==1) // ml_Size==0
|
||||
{
|
||||
@ -1258,10 +1258,8 @@ namespace ZNsMain
|
||||
|
||||
void AddTail(TypeArg AR_Type)
|
||||
{
|
||||
ZCLink* VP_AddLink =
|
||||
GetCLinkHeap().GetOneLink();
|
||||
|
||||
VP_AddLink->mo_Type= AR_Type;
|
||||
ZCLink* VP_AddLink = GetCLinkHeap().GetOneLink();
|
||||
VP_AddLink->mo_Type= AR_Type ;
|
||||
|
||||
if(++ml_Size==1) // ml_Size==0
|
||||
{
|
||||
@ -1270,7 +1268,7 @@ namespace ZNsMain
|
||||
}
|
||||
else
|
||||
{
|
||||
mp_TailLink->mp_NextLink=VP_AddLink;
|
||||
mp_TailLink->mp_NextLink=VP_AddLink ;
|
||||
mp_TailLink=mp_TailLink->mp_NextLink;
|
||||
}/*
|
||||
else*/
|
||||
@ -1325,11 +1323,11 @@ namespace ZNsMain
|
||||
|
||||
ZCLink* GetHeadLinkPtr (){return mp_HeadLink;}
|
||||
ZCLink* GetHeadIterEasy (){return mp_HeadLink;}
|
||||
IterEasyID GetHeadIterEasyID(){return (IterEasyID)mp_HeadLink;}
|
||||
IterEasyID GetHeadIterEasyID(){return (IterEasyID)mp_HeadLink;}
|
||||
|
||||
ZCLink* GetTailLinkPtr (){return mp_TailLink;}
|
||||
ZCLink* GetTailIterEasy (){return mp_TailLink;}
|
||||
IterEasyID GetTailIterEasyID(){return (IterEasyID)mp_TailLink;}
|
||||
IterEasyID GetTailIterEasyID(){return (IterEasyID)mp_TailLink;}
|
||||
|
||||
TType& front(){return mp_HeadLink->mo_Type;}
|
||||
TType& back (){return mp_TailLink->mo_Type;}
|
||||
@ -1526,8 +1524,8 @@ namespace ZNsMain
|
||||
}/*
|
||||
if(mp_HeadLink==0)*/
|
||||
|
||||
AP_Link->mp_NextLink=mp_HeadLink;
|
||||
mp_HeadLink=AP_Link;
|
||||
AP_Link->mp_NextLink= mp_HeadLink ;
|
||||
mp_HeadLink = AP_Link ;
|
||||
|
||||
++ml_Size;
|
||||
}/*
|
||||
@ -1569,7 +1567,7 @@ namespace ZNsMain
|
||||
else
|
||||
{
|
||||
mp_TailLink->mp_NextLink=AP_Link;
|
||||
mp_TailLink=AP_Link;
|
||||
mp_TailLink =AP_Link;
|
||||
}/*
|
||||
else*/
|
||||
|
||||
@ -1599,8 +1597,8 @@ namespace ZNsMain
|
||||
{
|
||||
rhs.mp_TailLink->mp_NextLink=mp_HeadLink;
|
||||
|
||||
mp_HeadLink=rhs.mp_HeadLink;
|
||||
ml_Size += rhs.ml_Size;
|
||||
mp_HeadLink= rhs.mp_HeadLink ;
|
||||
ml_Size += rhs.ml_Size ;
|
||||
}/*
|
||||
else*/
|
||||
|
||||
@ -1631,7 +1629,7 @@ namespace ZNsMain
|
||||
else
|
||||
{
|
||||
mp_TailLink->mp_NextLink=rhs.mp_HeadLink;
|
||||
mp_TailLink=rhs.mp_TailLink;
|
||||
mp_TailLink =rhs.mp_TailLink;
|
||||
|
||||
ml_Size += rhs.ml_Size;
|
||||
}/*
|
||||
@ -1648,8 +1646,8 @@ namespace ZNsMain
|
||||
{
|
||||
if(ml_Size==0) return;
|
||||
|
||||
ZCLink* VP_DelLink=mp_HeadLink;
|
||||
mp_HeadLink=mp_HeadLink->mp_NextLink;
|
||||
ZCLink* VP_DelLink= mp_HeadLink ;
|
||||
mp_HeadLink = mp_HeadLink->mp_NextLink;
|
||||
|
||||
GetCLinkHeap().ReceiveLink(VP_DelLink);
|
||||
|
||||
@ -1704,20 +1702,24 @@ namespace ZNsMain
|
||||
|
||||
if(AL_DelSize==ml_Size)
|
||||
{
|
||||
GetCLinkHeap().ReceiveLink(mp_HeadLink,mp_TailLink,ml_Size);
|
||||
mp_HeadLink=0;
|
||||
mp_TailLink=0;
|
||||
ml_Size =0;
|
||||
GetCLinkHeap().ReceiveLink
|
||||
(mp_HeadLink, mp_TailLink, ml_Size);
|
||||
mp_HeadLink=0 ;
|
||||
mp_TailLink=0 ;
|
||||
ml_Size =0 ;
|
||||
|
||||
return;
|
||||
}/*
|
||||
if(AL_DelSize==ml_Size)*/
|
||||
|
||||
ZCLink* VP_NewTail=mp_HeadLink->GetNextPtr(ml_Size-AL_DelSize-1);
|
||||
GetCLinkHeap().ReceiveLink(VP_NewTail->mp_NextLink,mp_TailLink,AL_DelSize);
|
||||
mp_TailLink=VP_NewTail;
|
||||
mp_TailLink->mp_NextLink=0;
|
||||
ml_Size -= AL_DelSize ;
|
||||
ZCLink* VP_NewTail= mp_HeadLink->
|
||||
GetNextPtr(ml_Size-AL_DelSize-1);
|
||||
GetCLinkHeap().ReceiveLink
|
||||
(VP_NewTail->mp_NextLink, mp_TailLink, AL_DelSize);
|
||||
|
||||
mp_TailLink = VP_NewTail ;
|
||||
mp_TailLink-> mp_NextLink=0 ;
|
||||
ml_Size -= AL_DelSize ;
|
||||
}/*
|
||||
void DeleteTail(TTypSize AL_DelSize)*/
|
||||
|
||||
@ -1807,7 +1809,13 @@ namespace ZNsMain
|
||||
|
||||
ZtCSimList VO_StoreList;
|
||||
|
||||
CutLink(AP_CutHeadPrev,AP_CutHead,AL_CutHeadPos,AP_CutTail,AL_CutTailPos ,VO_StoreList).DeleteAll();
|
||||
CutLink /*==========================================*/
|
||||
(
|
||||
AP_CutHeadPrev, AP_CutHead , AL_CutHeadPos,
|
||||
AP_CutTail , AL_CutTailPos , VO_StoreList
|
||||
).
|
||||
DeleteAll() ;
|
||||
/*==================================================*/
|
||||
}/*
|
||||
void Delete ///////////////////////////////////////
|
||||
(
|
||||
@ -1862,8 +1870,8 @@ namespace ZNsMain
|
||||
|
||||
if(VL_FindIndex==ml_Size){return 0; }
|
||||
|
||||
VP_TempLink=VP_TempLink->mp_NextLink;
|
||||
++VL_FindIndex;
|
||||
VP_TempLink= VP_TempLink->mp_NextLink ;
|
||||
++VL_FindIndex ;
|
||||
}
|
||||
while(true);
|
||||
}/*
|
||||
@ -1891,7 +1899,7 @@ namespace ZNsMain
|
||||
if(VL_FindIndex==ml_Size){return 0; }
|
||||
|
||||
VP_TempLink=VP_TempLink->mp_NextLink;
|
||||
++VL_FindIndex;
|
||||
++VL_FindIndex ;
|
||||
}
|
||||
while(true);
|
||||
}/*
|
||||
@ -2227,6 +2235,70 @@ namespace ZNsMain
|
||||
}/*
|
||||
const TType& GetDataInIter(const IterEasyID APPI_IterEasyID) const*/
|
||||
|
||||
|
||||
|
||||
ZCLink* ItHEasy(){return mp_HeadLink;}
|
||||
IterEasyID ItHID (){return (IterEasyID)mp_HeadLink;}
|
||||
|
||||
ZCLink* ItTEasy(){return mp_TailLink;}
|
||||
IterEasyID ItTID (){return (IterEasyID)mp_TailLink;}
|
||||
|
||||
const ZCLink* ItHEasy() const{return mp_HeadLink;}
|
||||
const IterEasyID ItHID () const{return (IterEasyIDc)mp_HeadLink;}
|
||||
|
||||
const ZCLink* ItTEasy() const{return mp_TailLink;}
|
||||
const IterEasyID ItTID () const{return (IterEasyIDc)mp_TailLink;}
|
||||
|
||||
|
||||
void ItNext(ZCLink*& APR_CLink)
|
||||
{
|
||||
MoveNextIter(APR_CLink);
|
||||
}/*
|
||||
void ItNext(ZCLink*& APR_CLink)*/
|
||||
|
||||
void ItNext(IterEasyID& APPI_IterEasyID)
|
||||
{
|
||||
MoveNextIter(APPI_IterEasyID);
|
||||
}/*
|
||||
void ItNext(IterEasyID& APPI_IterEasyID)*/
|
||||
|
||||
void ItNext(const ZCLink*& APR_CLink) const
|
||||
{
|
||||
MoveNextIter(APR_CLink);
|
||||
}/*
|
||||
void ItNext(const ZCLink*& APR_CLink) const*/
|
||||
|
||||
void ItNext(const IterEasyID& APPI_IterEasyID) const
|
||||
{
|
||||
MoveNextIter(APPI_IterEasyID);
|
||||
}/*
|
||||
void ItNext(const IterEasyID& APPI_IterEasyID) const*/
|
||||
|
||||
|
||||
TType& ItD(ZCLink* AP_CLink)
|
||||
{
|
||||
return **AP_CLink;
|
||||
}/*
|
||||
TType& ItD(ZCLink* AP_CLink)*/
|
||||
|
||||
TType& ItD(IterEasyID APPI_IterEasyID)
|
||||
{
|
||||
return ItD((ZCLink*)APPI_IterEasyID);
|
||||
}/*
|
||||
TType& ItD(IterEasyID APPI_IterEasyID)*/
|
||||
|
||||
const TType& ItD(const ZCLink* AP_CLink) const
|
||||
{
|
||||
return **AP_CLink;
|
||||
}/*
|
||||
const TType& ItD(const ZCLink* AP_CLink) const*/
|
||||
|
||||
const TType& ItD(const IterEasyID APPI_IterEasyID) const
|
||||
{
|
||||
return ItD((const ZCLink*)APPI_IterEasyID);
|
||||
}/*
|
||||
const TType& ItD(const IterEasyID APPI_IterEasyID) const*/
|
||||
|
||||
/*
|
||||
public:*/
|
||||
};/*
|
||||
|
Reference in New Issue
Block a user