commit 2025-09-18 19:56 add 202509181922 code< ZCLink::MakeCircle(mp_HeadLink, mp_TailLink); > in ZCppMain/ZtCSimList.H

This commit is contained in:
2025-09-18 19:56:27 +09:00
parent fb77b5ef89
commit 0ca2981290

View File

@ -822,7 +822,7 @@ namespace ZNsMain
{
// 두 개의 링크를 연결 상태로 만든다.
AP_PrevLink->mp_NextLink=AP_NextLink;
AP_PrevLink->mp_NextLink = AP_NextLink;
}/*
inline static void JoinLink(ZCLink* AP_PrevLink, ZCLink* AP_NextLink)*/
@ -832,7 +832,7 @@ namespace ZNsMain
// 이것은 ZtCSimList class template 과 멤버 함수를 맞추기 위한 것으로
// 실제적으로는 별 쓸모는 없는 것 같다.
AP_TailLink->mp_NextLink=AP_HeadLink;
AP_TailLink->mp_NextLink = AP_HeadLink;
}/*
inline static void MakeCircle(ZCLink* AP_HeadLink, ZCLink* AP_TailLink)*/
@ -1055,17 +1055,29 @@ namespace ZNsMain
}
else
{
mp_HeadLink=mp_HeadLink->mp_NextLink;
mp_HeadLink= mp_HeadLink->mp_NextLink;
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}
//else
}
else if(AP_CutLink==mp_TailLink)
{
AP_PrevLink->mp_NextLink=0;
#if(_CODE_NEW_)
mp_Tailink= AP_PrevLink;
#else
AP_PrevLink->mp_NextLink= 0;
#endif
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}
else
{
AP_PrevLink->mp_NextLink=AP_CutLink->mp_NextLink;
AP_PrevLink->mp_NextLink= AP_CutLink->mp_NextLink;
}
//else
@ -1086,12 +1098,24 @@ namespace ZNsMain
else
{
mp_HeadLink=mp_HeadLink->mp_NextLink;
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}
//else
}
else if(AP_CutLink==mp_TailLink)
{
#if(_CODE_NEW_)
mp_Tailink= AP_PrevLink;
#else
AP_PrevLink->mp_NextLink=0;
#endif
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}
else
{
@ -1129,12 +1153,22 @@ namespace ZNsMain
else
{
mp_HeadLink=AP_CutTail->mp_NextLink;
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}
}
else if(AP_CutTail==mp_TailLink) // 잘라내려는 링크가 끝 링크를 포함할 때.
{
mp_TailLink= AP_CutHeadPrev ;
#if(_CODE_OLD_)
mp_TailLink->mp_NextLink= 0 ;
#endif
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}
else // 잘라내려는 링크가 처음과 끝 링크를 포함하지 않을 때.
{
@ -1180,13 +1214,13 @@ namespace ZNsMain
ZtCSimList& MakeDefault(TTypSize AL_DefaultSize, ZtCSimList& ARR_StoreList) const
{
// must AL_DefaultSize > 0
if(AL_DefaultSize<=0) return ARR_StoreList;
ZCLink* VP_HeadLink=0;
ZCLink* VP_TailLink=0;
GetCFreeHeap().SendFreeOut
(AL_DefaultSize, VP_HeadLink, VP_TailLink);
(AL_DefaultSize, RR(VP_HeadLink), RR(VP_TailLink));
ZCLink::MakeCircle( VP_HeadLink, VP_TailLink );
ARR_StoreList.mp_HeadLink= VP_HeadLink ;
@ -1340,6 +1374,10 @@ namespace ZNsMain
mp_HeadLink = VP_AddLink ;
}/*
else*/
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}/*
void AddHead(TypeArg AR_Type)*/
@ -1358,7 +1396,9 @@ namespace ZNsMain
mp_HeadLink = VP_AddLink ;
}
//else
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}/*
ZCLink* AddHeadDefault()*/
@ -1388,6 +1428,10 @@ namespace ZNsMain
mp_TailLink = VP_AddLink;
}/*
else*/
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}/*
void AddTail(TypeArg AR_Type)*/
@ -1405,8 +1449,10 @@ namespace ZNsMain
ZCLink::JoinLink(mp_TailLink, VP_AddLink);
mp_TailLink = VP_AddLink ;
}/*
else*/
}
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}/*
ZCLink* AddTailDefault()*/
@ -1627,20 +1673,18 @@ namespace ZNsMain
if(mp_HeadLink==0)
{
mp_HeadLink =
mp_TailLink = AP_Link ;
ml_Size = 1 ;
AP_Link->mp_NextLink=0;
return;
}/*
if(mp_HeadLink==0)*/
AP_Link->mp_NextLink= mp_HeadLink ;
mp_HeadLink = AP_Link ;
mp_HeadLink = mp_TailLink = AP_Link ;
}
else
{
AP_Link->mp_NextLink= mp_HeadLink ;
mp_HeadLink = AP_Link ;
}
++ml_Size;
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}/*
void JoinHead(ZCLink* AP_Link)*/
@ -1668,7 +1712,9 @@ namespace ZNsMain
#endif //_DEBUG
#if(_CODE_OLD_)
AP_Link->mp_NextLink=0;
#endif
if(mp_HeadLink==0)
{
@ -1683,6 +1729,10 @@ namespace ZNsMain
else*/
++ml_Size;
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}/*
void JoinTail(ZCLink* AP_Link)*/
@ -1704,6 +1754,10 @@ namespace ZNsMain
mp_HeadLink= rhs.mp_HeadLink ;
ml_Size += rhs.ml_Size ;
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}/*
else*/
@ -1731,6 +1785,10 @@ namespace ZNsMain
mp_TailLink =rhs.mp_TailLink;
ml_Size += rhs.ml_Size;
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}/*
else*/
@ -1752,10 +1810,13 @@ namespace ZNsMain
if(--ml_Size==0)
{
mp_HeadLink =
mp_TailLink = 0 ;
mp_HeadLink = mp_TailLink = 0 ; return;
}/*
if(--ml_Size==0)*/
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}/*
void DeleteHead()*/
@ -1801,6 +1862,10 @@ namespace ZNsMain
mp_TailLink->mp_NextLink=0 ;
GetCFreeHeap().RecvFreeIn(VP_CutLink);
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}/*
void DeleteTail()*/
@ -1829,8 +1894,14 @@ namespace ZNsMain
(AL_DelSize, VP_NewTail->mp_NextLink, mp_TailLink);
mp_TailLink = VP_NewTail ;
mp_TailLink-> mp_NextLink=0 ;
ml_Size -= AL_DelSize ;
#if(_CODE_OLD_)
mp_TailLink-> mp_NextLink=0 ;
#endif
#if(202509181922)
ZCLink::MakeCircle(mp_HeadLink, mp_TailLink);
#endif
}/*
void DeleteTail(TTypSize AL_DelSize)*/