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